-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inlet Dirichlet boundary condition for tracer #1284
base: master
Are you sure you want to change the base?
Conversation
efc300a
to
db82db2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
First batch of comments, I will continue tomorrow
subsection fluid dynamics | ||
set verbosity = quiet | ||
set tolerance = 1e-12 | ||
set max iterations = 10 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you can remove this parameter since it uses the default value
|
||
* ``type``: This is the type of boundary condition being imposed. | ||
* ``dirichlet``, to impose a given tracer value at the boundary, | ||
* ``inlet dirichlet``, to impose the Dirichlet boundary condition weakly using a Neumann approach. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder if inlet weak dirichlet
would be more appropriate. Since in theory you can set a dirichlet one at the inlet as well...
@@ -691,8 +692,9 @@ namespace BoundaryConditions | |||
class TracerBoundaryConditions : public BoundaryConditions<dim> | |||
{ | |||
public: | |||
std::vector<std::shared_ptr<Functions::ParsedFunction<dim>>> tracer; | |||
std::vector<std::shared_ptr<Functions::ParsedFunction<dim>>> dirichlet; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it would be better to name this as:
std::vector<std::shared_ptr<Functions::ParsedFunction<dim>>> dirichlet; | |
std::vector<std::shared_ptr<Functions::ParsedFunction<dim>>> dirichlet_functions; |
@@ -33,6 +35,10 @@ template <int dim> | |||
class TracerAssemblerBase | |||
{ | |||
public: | |||
TracerAssemblerBase(std::shared_ptr<SimulationControl> p_simulation_control) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This new parameter needs to be added to the brief of the function and shouldn't it be a const ref? I think it could be a const ref in all the assemblers
@@ -143,4 +154,51 @@ class TracerAssemblerBDF : public TracerAssemblerBase<dim> | |||
}; | |||
|
|||
|
|||
/** | |||
* @brief Class that assembles the inlet dirichlet boundary condition for the tracer solver. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* @brief Class that assembles the inlet dirichlet boundary condition for the tracer solver. | |
* @brief Class that assembles weakly the inlet dirichlet boundary condition for the tracer solver. |
* @param simulation_control Shared pointer of the SimulationControl object | ||
* controlling the current simulation | ||
* @param p_boundary_conditions_tracer TracerBoundaryConditions object that hold | ||
* boundary condition information for the Tracer solver |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add to the parameter brief [in], [out] or [in,out]
Description
For some simulations, imposing Dirichlet conditions made the linear systems too stiff. We can now impose weakly boundary conditions at inlets using the velocity times Dirichlet value as a flux, in a Neumann approach.
Testing
An application test is added.
Documentation
The new type of boundary condition is added to the documentation.
Miscellaneous (will be removed when merged)
Checklist (will be removed when merged)
See this page for more information about the pull request process.
Code related list:
Pull request related list: