16 #ifndef dealii_flow_function_h 17 #define dealii_flow_function_h 20 #include <deal.II/base/config.h> 22 #include <deal.II/base/function.h> 23 #include <deal.II/base/point.h> 24 #include <deal.II/base/thread_management.h> 26 DEAL_II_NAMESPACE_OPEN
76 std::vector<std::vector<double>> &values)
const override = 0;
85 std::vector<std::vector<
Tensor<1, dim>>> &gradients)
const override = 0;
96 std::vector<std::vector<double>> &values)
const = 0;
103 const unsigned int component)
const override;
108 vector_gradient_list(
110 std::vector<std::vector<
Tensor<1, dim>>> &gradients)
const override;
119 memory_consumption()
const;
166 std::vector<std::vector<double>> &values)
const override;
170 std::vector<std::vector<
Tensor<1, dim>>> &gradients)
const override;
173 std::vector<std::vector<double>> &values)
const override;
177 const double Reynolds;
213 std::vector<std::vector<double>> &values)
const override;
217 std::vector<std::vector<
Tensor<1, dim>>> &gradients)
const override;
220 std::vector<std::vector<double>> &values)
const override;
254 vector_values(
const std::vector<
Point<2>> & points,
255 std::vector<std::vector<double>> &values)
const override;
258 const std::vector<
Point<2>> & points,
259 std::vector<std::vector<
Tensor<1, 2>>> &gradients)
const override;
261 vector_laplacians(
const std::vector<
Point<2>> & points,
262 std::vector<std::vector<double>> &values)
const override;
267 Psi(
double phi)
const;
270 Psi_1(
double phi)
const;
273 Psi_2(
double phi)
const;
276 Psi_3(
double phi)
const;
279 Psi_4(
double phi)
const;
311 Kovasznay(
const double Re,
bool Stokes =
false);
316 vector_values(
const std::vector<
Point<2>> & points,
317 std::vector<std::vector<double>> &values)
const override;
320 const std::vector<
Point<2>> & points,
321 std::vector<std::vector<
Tensor<1, 2>>> &gradients)
const override;
323 vector_laplacians(
const std::vector<
Point<2>> & points,
324 std::vector<std::vector<double>> &values)
const override;
331 const double Reynolds;
339 DEAL_II_NAMESPACE_CLOSE
std::vector< std::vector< double > > aux_values
virtual void vector_laplacians(const std::vector< Point< dim >> &points, std::vector< std::vector< double >> &values) const override
const double lm
Auxiliary variable 1-lambda.
virtual void vector_laplacians(const std::vector< Point< dim >> &points, std::vector< std::vector< double >> &values) const override
virtual void vector_gradients(const std::vector< Point< dim >> &points, std::vector< std::vector< Tensor< 1, dim >>> &gradients) const override
const double lp
Auxiliary variable 1+lambda.
virtual void vector_laplacians(const std::vector< Point< dim >> &points, std::vector< std::vector< double >> &values) const =0
virtual void vector_value_list(const std::vector< Point< dim >> &points, std::vector< Vector< double >> &values) const override
static const double lambda
StokesCosine(const double viscosity=1., const double reaction=0.)
virtual void vector_values(const std::vector< Point< dim >> &points, std::vector< std::vector< double >> &values) const override=0
virtual void vector_gradients(const std::vector< Point< dim >> &points, std::vector< std::vector< Tensor< 1, dim >>> &gradients) const override=0
void set_parameters(const double viscosity, const double reaction)
double viscosity
The viscosity.
double Psi(double phi) const
The auxiliary function Psi.
double lambda() const
The value of lambda.
virtual void vector_values(const std::vector< Point< dim >> &points, std::vector< std::vector< double >> &values) const override
double reaction
The reaction parameter.
std::vector< std::vector< Tensor< 1, dim > > > aux_gradients
virtual void vector_value(const Point< dim > &points, Vector< double > &value) const override
const double omega
The angle of the reentrant corner, set to 3*pi/2.
virtual void vector_values(const std::vector< Point< dim >> &points, std::vector< std::vector< double >> &values) const override
virtual void vector_laplacian_list(const std::vector< Point< dim >> &points, std::vector< Vector< double >> &values) const override
double Psi_1(double phi) const
The derivative of Psi()
virtual ~FlowFunction() override=default
const double coslo
Cosine of lambda times omega.
double Psi_4(double phi) const
The 4th derivative of Psi()
virtual double value(const Point< dim > &points, const unsigned int component) const override
double Psi_3(double phi) const
The 3rd derivative of Psi()
StokesLSingularity()
Constructor setting up some data.
virtual void vector_gradients(const std::vector< Point< dim >> &points, std::vector< std::vector< Tensor< 1, dim >>> &gradients) const override
Kovasznay(const double Re, bool Stokes=false)
double Psi_2(double phi) const
The 2nd derivative of Psi()
void pressure_adjustment(double p)