16#ifndef dealii_flow_function_h
17#define dealii_flow_function_h
75 std::vector<std::vector<double>> &values)
const override = 0;
84 std::vector<std::vector<
Tensor<1, dim>>> &gradients)
const override = 0;
95 std::vector<std::vector<double>> &values)
const = 0;
102 const unsigned int component)
const override;
109 std::vector<std::vector<
Tensor<1, dim>>> &gradients)
const override;
167 std::vector<std::vector<double>> &values)
const override;
171 std::vector<std::vector<
Tensor<1, dim>>> &gradients)
const override;
174 std::vector<std::vector<double>> &values)
const override;
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 std::vector<std::vector<double>> &values)
const override;
257 const std::vector<
Point<2>> & points,
258 std::vector<std::vector<
Tensor<1, 2>>> &gradients)
const override;
261 std::vector<std::vector<double>> &values)
const override;
266 Psi(
double phi)
const;
269 Psi_1(
double phi)
const;
272 Psi_2(
double phi)
const;
275 Psi_3(
double phi)
const;
278 Psi_4(
double phi)
const;
309 Kovasznay(
const double Re,
bool Stokes =
false);
315 std::vector<std::vector<double>> &values)
const override;
318 const std::vector<
Point<2>> & points,
319 std::vector<std::vector<
Tensor<1, 2>>> &gradients)
const override;
322 std::vector<std::vector<double>> &values)
const override;
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const override
std::vector< std::vector< Tensor< 1, dim > > > aux_gradients
void pressure_adjustment(double p)
virtual void vector_gradient_list(const std::vector< Point< dim > > &points, std::vector< std::vector< Tensor< 1, dim > > > &gradients) const override
virtual void vector_laplacian_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const override
virtual void vector_laplacians(const std::vector< Point< dim > > &points, std::vector< std::vector< double > > &values) const =0
virtual void vector_gradients(const std::vector< Point< dim > > &points, std::vector< std::vector< Tensor< 1, dim > > > &gradients) const override=0
virtual void vector_values(const std::vector< Point< dim > > &points, std::vector< std::vector< double > > &values) const override=0
virtual std::size_t memory_consumption() const override
virtual ~FlowFunction() override=default
virtual void vector_value(const Point< dim > &points, Vector< double > &value) const override
std::vector< std::vector< double > > aux_values
virtual double value(const Point< dim > &points, const unsigned int component) const override
virtual ~Kovasznay() override=default
virtual void vector_values(const std::vector< Point< 2 > > &points, std::vector< std::vector< double > > &values) const override
virtual void vector_gradients(const std::vector< Point< 2 > > &points, std::vector< std::vector< Tensor< 1, 2 > > > &gradients) const override
virtual void vector_laplacians(const std::vector< Point< 2 > > &points, std::vector< std::vector< double > > &values) const override
double lambda() const
The value of lambda.
const double inv_sqr_radius
virtual void vector_gradients(const std::vector< Point< dim > > &points, std::vector< std::vector< Tensor< 1, dim > > > &gradients) const override
virtual void vector_values(const std::vector< Point< dim > > &points, std::vector< std::vector< double > > &values) const override
virtual void vector_laplacians(const std::vector< Point< dim > > &points, std::vector< std::vector< double > > &values) const override
virtual ~PoisseuilleFlow() override=default
double reaction
The reaction parameter.
virtual void vector_values(const std::vector< Point< dim > > &points, std::vector< std::vector< double > > &values) const override
virtual ~StokesCosine() override=default
double viscosity
The viscosity.
void set_parameters(const double viscosity, const double reaction)
virtual void vector_gradients(const std::vector< Point< dim > > &points, std::vector< std::vector< Tensor< 1, dim > > > &gradients) const override
virtual void vector_laplacians(const std::vector< Point< dim > > &points, std::vector< std::vector< double > > &values) const override
static const double lambda
virtual void vector_gradients(const std::vector< Point< 2 > > &points, std::vector< std::vector< Tensor< 1, 2 > > > &gradients) const override
virtual void vector_values(const std::vector< Point< 2 > > &points, std::vector< std::vector< double > > &values) const override
double Psi_1(double phi) const
The derivative of Psi()
double Psi(double phi) const
The auxiliary function Psi.
const double lp
Auxiliary variable 1+lambda.
const double lm
Auxiliary variable 1-lambda.
const double omega
The angle of the reentrant corner, set to 3*pi/2.
virtual void vector_laplacians(const std::vector< Point< 2 > > &points, std::vector< std::vector< double > > &values) const override
double Psi_3(double phi) const
The 3rd derivative of Psi()
StokesLSingularity()
Constructor setting up some data.
double Psi_4(double phi) const
The 4th derivative of Psi()
double Psi_2(double phi) const
The 2nd derivative of Psi()
const double coslo
Cosine of lambda times omega.
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE