15#ifndef dealii_flow_function_h
16#define dealii_flow_function_h
74 std::vector<std::vector<double>> &values)
const override = 0;
83 std::vector<std::vector<
Tensor<1, dim>>> &gradients)
const override = 0;
94 std::vector<std::vector<double>> &values)
const = 0;
101 const unsigned int component)
const override;
108 std::vector<std::vector<
Tensor<1, dim>>> &gradients)
const override;
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;
212 std::vector<std::vector<double>> &values)
const override;
216 std::vector<std::vector<
Tensor<1, dim>>> &gradients)
const override;
219 std::vector<std::vector<double>> &values)
const override;
253 std::vector<std::vector<double>> &values)
const override;
256 const std::vector<
Point<2>> &points,
257 std::vector<std::vector<
Tensor<1, 2>>> &gradients)
const override;
260 std::vector<std::vector<double>> &values)
const override;
265 Psi(
double phi)
const;
268 Psi_1(
double phi)
const;
271 Psi_2(
double phi)
const;
274 Psi_3(
double phi)
const;
277 Psi_4(
double phi)
const;
308 Kovasznay(
const double Re,
bool Stokes =
false);
314 std::vector<std::vector<double>> &values)
const override;
317 const std::vector<
Point<2>> &points,
318 std::vector<std::vector<
Tensor<1, 2>>> &gradients)
const override;
321 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