Reference documentation for deal.II version 9.1.1
|
#include <deal.II/base/flow_function.h>
Public Member Functions | |
FlowFunction () | |
virtual | ~FlowFunction () override=default |
void | pressure_adjustment (double p) |
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 |
virtual void | vector_laplacians (const std::vector< Point< dim >> &points, std::vector< std::vector< double >> &values) const =0 |
virtual void | vector_value (const Point< dim > &points, Vector< double > &value) const override |
virtual double | value (const Point< dim > &points, const unsigned int component) const override |
virtual void | vector_value_list (const std::vector< Point< dim >> &points, std::vector< Vector< double >> &values) const override |
virtual void | vector_laplacian_list (const std::vector< Point< dim >> &points, std::vector< Vector< double >> &values) const override |
Public Member Functions inherited from Function< dim > | |
Function (const unsigned int n_components=1, const time_type initial_time=0.0) | |
virtual | ~Function () override=0 |
Function & | operator= (const Function &f) |
virtual void | value_list (const std::vector< Point< dim >> &points, std::vector< double > &values, const unsigned int component=0) const |
virtual Tensor< 1, dim, double > | gradient (const Point< dim > &p, const unsigned int component=0) const |
virtual void | vector_gradient (const Point< dim > &p, std::vector< Tensor< 1, dim, double >> &gradients) const |
virtual void | gradient_list (const std::vector< Point< dim >> &points, std::vector< Tensor< 1, dim, double >> &gradients, const unsigned int component=0) const |
virtual void | vector_gradients (const std::vector< Point< dim >> &points, std::vector< std::vector< Tensor< 1, dim, double >>> &gradients) const |
virtual void | vector_gradient_list (const std::vector< Point< dim >> &points, std::vector< std::vector< Tensor< 1, dim, double >>> &gradients) const |
virtual double | laplacian (const Point< dim > &p, const unsigned int component=0) const |
virtual void | vector_laplacian (const Point< dim > &p, Vector< double > &values) const |
virtual void | laplacian_list (const std::vector< Point< dim >> &points, std::vector< double > &values, const unsigned int component=0) const |
virtual SymmetricTensor< 2, dim, double > | hessian (const Point< dim > &p, const unsigned int component=0) const |
virtual void | vector_hessian (const Point< dim > &p, std::vector< SymmetricTensor< 2, dim, double >> &values) const |
virtual void | hessian_list (const std::vector< Point< dim >> &points, std::vector< SymmetricTensor< 2, dim, double >> &values, const unsigned int component=0) const |
virtual void | vector_hessian_list (const std::vector< Point< dim >> &points, std::vector< std::vector< SymmetricTensor< 2, dim, double >>> &values) const |
std::size_t | memory_consumption () const |
Public Member Functions inherited from FunctionTime< Number > | |
FunctionTime (const Number initial_time=Number(0.0)) | |
virtual | ~FunctionTime ()=default |
Number | get_time () const |
virtual void | set_time (const Number new_time) |
virtual void | advance_time (const Number delta_t) |
Public Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) noexcept | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) noexcept |
void | subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
void | unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
unsigned int | n_subscriptions () const |
template<typename StreamType > | |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Protected Attributes | |
double | mean_pressure |
Private Attributes | |
Threads::Mutex | mutex |
std::vector< std::vector< double > > | aux_values |
std::vector< std::vector< Tensor< 1, dim > > > | aux_gradients |
Additional Inherited Members | |
Public Types inherited from Function< dim > | |
using | time_type = typename FunctionTime< typename numbers::NumberTraits< double >::real_type >::time_type |
Public Types inherited from FunctionTime< Number > | |
using | time_type = Number |
Static Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
Public Attributes inherited from Function< dim > | |
const unsigned int | n_components |
Static Public Attributes inherited from Function< dim > | |
static const unsigned int | dimension |
Base class for analytic solutions to incompressible flow problems.
Additional to the Function interface, this function provides for an offset of the pressure: if the pressure of the computed solution has an integral mean value different from zero, this value can be given to pressure_adjustment() in order to compute correct pressure errors.
Definition at line 49 of file flow_function.h.
Functions::FlowFunction< dim >::FlowFunction | ( | ) |
Constructor, setting up some internal data structures.
Definition at line 31 of file flow_function.cc.
|
overridevirtualdefault |
Virtual destructor.
void Functions::FlowFunction< dim >::pressure_adjustment | ( | double | p | ) |
Store an adjustment for the pressure function, such that its mean value is p
.
Definition at line 42 of file flow_function.cc.
|
overridepure virtual |
Values in a structure more suitable for vector valued functions. The outer vector is indexed by solution component, the inner by quadrature point.
Reimplemented from Function< dim >.
Implemented in Functions::StokesCosine< dim >, and Functions::PoisseuilleFlow< dim >.
|
overridepure virtual |
Gradients in a structure more suitable for vector valued functions. The outer vector is indexed by solution component, the inner by quadrature point.
Implemented in Functions::StokesCosine< dim >, and Functions::PoisseuilleFlow< dim >.
|
pure virtual |
Force terms in a structure more suitable for vector valued functions. The outer vector is indexed by solution component, the inner by quadrature point.
Implemented in Functions::StokesCosine< dim >, and Functions::PoisseuilleFlow< dim >.
|
overridevirtual |
Return all components of a vector-valued function at a given point.
values
shall have the right size beforehand, i.e. n_components.
The default implementation will call value() for each component.
Reimplemented from Function< dim >.
Definition at line 78 of file flow_function.cc.
|
overridevirtual |
Return the value of the function at the given point. Unless there is only one component (i.e. the function is scalar), you should state the component you want to have evaluated; it defaults to zero, i.e. the first component.
Reimplemented from Function< dim >.
Definition at line 103 of file flow_function.cc.
|
overridevirtual |
Set values
to the point values of the function at the points
. It is assumed that values
already has the right size, i.e. the same size as the points
array, and that all elements be vectors with the same number of components as this function has.
By default, this function repeatedly calls vector_value() for each point separately, to fill the output array.
Reimplemented from Function< dim >.
Definition at line 50 of file flow_function.cc.
|
overridevirtual |
The force term in the momentum equation.
Reimplemented from Function< dim >.
Definition at line 153 of file flow_function.cc.
|
protected |
Mean value of the pressure to be added by derived classes.
Definition at line 125 of file flow_function.h.
|
mutableprivate |
A mutex that guards the following scratch arrays.
Definition at line 131 of file flow_function.h.
|
mutableprivate |
Auxiliary values for the usual Function interface.
Definition at line 136 of file flow_function.h.
|
mutableprivate |
Auxiliary values for the usual Function interface.
Definition at line 141 of file flow_function.h.