Template Class NavierStokesParameters

Inheritance Relationships

Base Type

  • public dealii::ParameterAcceptor

Class Documentation

template<int dim, int spacedim = dim>
class NavierStokesParameters : public dealii::ParameterAcceptor

Parameters for a standalone transient incompressible fluid problem.

The problem solved by NavierStokesSolver is

\[ \rho(\partial_t u + (u\cdot\nabla)u) - \operatorname{div}(2\nu\varepsilon(u)) + \nabla p = \rho f, \qquad \operatorname{div}u=0. \]

The first implementation uses backward Euler for the mass and viscous terms. When include_convective_term is true, the convective term is evaluated with the accepted velocity from the previous time step and moved explicitly to the right-hand side. Setting it to false gives unsteady Stokes.

Public Functions

explicit NavierStokesParameters(const std::string &subsection = "/Navier-Stokes/")

Construct a parameter object below subsection.

void set_time(const double time) const

Update the time used by all parsed functions.

Public Members

std::string output_directory = "."
std::string output_name = "navier_stokes"
TimeIntervalParameters time_parameters
FixedStepParameters fixed_step_parameters
IDAParameters ida_parameters
unsigned int velocity_degree = 2
unsigned int pressure_degree = 1
unsigned int initial_refinement = 1
std::list<dealii::types::boundary_id> dirichlet_ids = {0}
std::string name_of_grid = "hyper_cube"
std::string arguments_for_grid = "-1: 1: false"
std::string triangulation_type = "distributed"
double density = 1.0
double viscosity = 1.0
bool include_convective_term = true
std::string analytical_solution_expression = dim == 2 ? "0; 0; 0" : "0; 0; 0; 0"

Optional exact field expression used by external error postprocessing.

mutable dealii::ParsedConvergenceTable convergence_table

Parameter-driven convergence/error table for manufactured solutions.

mutable dealii::ParameterAcceptorProxy<dealii::Functions::ParsedFunction<spacedim>> rhs
mutable dealii::ParameterAcceptorProxy<dealii::Functions::ParsedFunction<spacedim>> bc
mutable dealii::ParameterAcceptorProxy<dealii::Functions::ParsedFunction<spacedim>> initial_condition
mutable dealii::ParameterAcceptorProxy<dealii::ReductionControl> solver_control
unsigned int inner_solver_max_steps = 200
double inner_solver_tolerance = 1.e-10
bool log_solver_iterations = false