16 #ifndef dealii_flow_function_h 17 #define dealii_flow_function_h 20 #include <deal.II/base/config.h> 21 #include <deal.II/base/function.h> 22 #include <deal.II/base/point.h> 23 #include <deal.II/base/thread_management.h> 25 DEAL_II_NAMESPACE_OPEN
73 std::vector<std::vector<double> > &values)
const = 0;
80 std::vector<std::vector<
Tensor<1,dim> > > &gradients)
const = 0;
90 std::vector<std::vector<double> > &values)
const = 0;
93 virtual double value (
const Point<dim> &points,
const unsigned int component)
const;
96 virtual void vector_gradient_list (
const std::vector<
Point<dim> > &points,
104 std::size_t memory_consumption ()
const;
152 std::vector<std::vector<double> > &values)
const;
156 std::vector<std::vector<double> > &values)
const;
160 const double Reynolds;
195 std::vector<std::vector<double> > &values)
const;
199 std::vector<std::vector<double> > &values)
const;
232 virtual void vector_values (
const std::vector<
Point<2> > &points,
233 std::vector<std::vector<double> > &values)
const;
234 virtual void vector_gradients (
const std::vector<
Point<2> > &points,
235 std::vector<std::vector<
Tensor<1,2> > > &gradients)
const;
236 virtual void vector_laplacians (
const std::vector<
Point<2> > &points,
237 std::vector<std::vector<double> > &values)
const;
240 double Psi(
double phi)
const;
242 double Psi_1(
double phi)
const;
244 double Psi_2(
double phi)
const;
246 double Psi_3(
double phi)
const;
248 double Psi_4(
double phi)
const;
280 Kovasznay (
const double Re,
bool Stokes =
false);
284 virtual void vector_values (
const std::vector<
Point<2> > &points,
285 std::vector<std::vector<double> > &values)
const;
286 virtual void vector_gradients (
const std::vector<
Point<2> > &points,
287 std::vector<std::vector<
Tensor<1,2> > > &gradients)
const;
288 virtual void vector_laplacians (
const std::vector<
Point<2> > &points,
289 std::vector<std::vector<double> > &values)
const;
294 const double Reynolds;
302 DEAL_II_NAMESPACE_CLOSE
std::vector< std::vector< double > > aux_values
const double lm
Auxiliary variable 1-lambda.
virtual double value(const Point< dim > &points, const unsigned int component) const
const double lp
Auxiliary variable 1+lambda.
virtual void vector_values(const std::vector< Point< dim > > &points, std::vector< std::vector< double > > &values) const
static const double lambda
StokesCosine(const double viscosity=1., const double reaction=0.)
virtual void vector_gradients(const std::vector< Point< dim > > &points, std::vector< std::vector< Tensor< 1, dim > > > &gradients) const =0
void set_parameters(const double viscosity, const double reaction)
double viscosity
The viscosity.
double Psi(double phi) const
The auxiliary function Psi.
virtual void vector_gradients(const std::vector< Point< dim > > &points, std::vector< std::vector< Tensor< 1, dim > > > &gradients) const
virtual void vector_gradients(const std::vector< Point< dim > > &points, std::vector< std::vector< Tensor< 1, dim > > > &gradients) const
double lambda() const
The value of lambda.
virtual void vector_values(const std::vector< Point< dim > > &points, std::vector< std::vector< double > > &values) const
std::vector< std::vector< Tensor< 1, dim > > > aux_gradients
double reaction
The reaction parameter.
virtual void vector_value(const Point< dim > &points, Vector< double > &value) const
virtual void vector_laplacians(const std::vector< Point< dim > > &points, std::vector< std::vector< double > > &values) const
virtual ~FlowFunction()=default
const double omega
The angle of the reentrant corner, set to 3*pi/2.
virtual void vector_value_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const
double Psi_1(double phi) const
The derivative of Psi()
const double coslo
Cosine of lambda times omega.
double Psi_4(double phi) const
The 4th derivative of Psi()
virtual void vector_laplacians(const std::vector< Point< dim > > &points, std::vector< std::vector< double > > &values) const =0
double Psi_3(double phi) const
The 3rd derivative of Psi()
StokesLSingularity()
Constructor setting up some data.
virtual void vector_values(const std::vector< Point< dim > > &points, std::vector< std::vector< double > > &values) const =0
virtual void vector_laplacian_list(const std::vector< Point< dim > > &points, std::vector< Vector< double > > &values) const
virtual void vector_laplacians(const std::vector< Point< dim > > &points, std::vector< std::vector< double > > &values) const
Kovasznay(const double Re, bool Stokes=false)
double Psi_2(double phi) const
The 2nd derivative of Psi()
void pressure_adjustment(double p)