![]() |
Reference documentation for deal.II version 8.5.1
|
#include <deal.II/base/function.h>
Public Member Functions | |
| ComponentSelectFunction (const unsigned int selected, const Number value, const unsigned int n_components) | |
| ComponentSelectFunction (const unsigned int selected, const unsigned int n_components) | |
| ComponentSelectFunction (const std::pair< unsigned int, unsigned int > &selected, const unsigned int n_components) | |
| virtual void | substitute_function_value_with (const ConstantFunction< dim, Number > &f) |
| virtual void | vector_value (const Point< dim > &p, Vector< Number > &return_value) const |
| virtual void | vector_value_list (const std::vector< Point< dim > > &points, std::vector< Vector< Number > > &values) const |
| std::size_t | memory_consumption () const |
Public Member Functions inherited from ConstantFunction< dim, Number > | |
| ConstantFunction (const Number value, const unsigned int n_components=1) | |
| ConstantFunction (const std::vector< Number > &values) | |
| ConstantFunction (const Vector< Number > &values) | |
| ConstantFunction (const Number *begin_ptr, const unsigned int n_components) | |
| virtual | ~ConstantFunction () |
| virtual Number | value (const Point< dim > &p, const unsigned int component) const |
| virtual void | value_list (const std::vector< Point< dim > > &points, std::vector< Number > &return_values, const unsigned int component=0) const |
Public Member Functions inherited from ZeroFunction< dim, Number > | |
| ZeroFunction (const unsigned int n_components=1) | |
| virtual | ~ZeroFunction () |
| virtual Tensor< 1, dim, Number > | gradient (const Point< dim > &p, const unsigned int component=0) const |
| virtual void | vector_gradient (const Point< dim > &p, std::vector< Tensor< 1, dim, Number > > &gradients) const |
| virtual void | gradient_list (const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim, Number > > &gradients, const unsigned int component=0) const |
| virtual void | vector_gradient_list (const std::vector< Point< dim > > &points, std::vector< std::vector< Tensor< 1, dim, Number > > > &gradients) const |
Public Member Functions inherited from Function< dim, Number > | |
| Function (const unsigned int n_components=1, const Number initial_time=0.0) | |
| virtual | ~Function ()=0 |
| Function & | operator= (const Function &f) |
| virtual void | vector_values (const std::vector< Point< dim > > &points, std::vector< std::vector< Number > > &values) const |
| virtual void | vector_gradients (const std::vector< Point< dim > > &points, std::vector< std::vector< Tensor< 1, dim, Number > > > &gradients) const |
| virtual Number | laplacian (const Point< dim > &p, const unsigned int component=0) const |
| virtual void | vector_laplacian (const Point< dim > &p, Vector< Number > &values) const |
| virtual void | laplacian_list (const std::vector< Point< dim > > &points, std::vector< Number > &values, const unsigned int component=0) const |
| virtual void | vector_laplacian_list (const std::vector< Point< dim > > &points, std::vector< Vector< Number > > &values) const |
| virtual SymmetricTensor< 2, dim, Number > | hessian (const Point< dim > &p, const unsigned int component=0) const |
| virtual void | vector_hessian (const Point< dim > &p, std::vector< SymmetricTensor< 2, dim, Number > > &values) const |
| virtual void | hessian_list (const std::vector< Point< dim > > &points, std::vector< SymmetricTensor< 2, dim, Number > > &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, Number > > > &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 () |
| 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 &&) | |
| virtual | ~Subscriptor () |
| Subscriptor & | operator= (const Subscriptor &) |
| Subscriptor & | operator= (Subscriptor &&) |
| void | subscribe (const char *identifier=0) const |
| void | unsubscribe (const char *identifier=0) const |
| unsigned int | n_subscriptions () const |
| void | list_subscribers () const |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int version) |
Protected Attributes | |
| const std::pair< unsigned int, unsigned int > | selected_components |
Protected Attributes inherited from ConstantFunction< dim, Number > | |
| std::vector< Number > | function_value_vector |
Additional Inherited Members | |
Static Public Member Functions inherited from Subscriptor | |
| static ::ExceptionBase & | ExcInUse (int arg1, char *arg2, std::string &arg3) |
| static ::ExceptionBase & | ExcNoSubscriber (char *arg1, char *arg2) |
Public Attributes inherited from Function< dim, Number > | |
| const unsigned int | n_components |
Static Public Attributes inherited from Function< dim, Number > | |
| static const unsigned int | dimension = dim |
This is a constant vector-valued function, in which one or more components of the vector have a constant value and all other components are zero. It is especially useful as a weight function for VectorTools::integrate_difference, where it allows to integrate only one or a few vector components, rather than the entire vector-valued solution. In other words, it acts as a component mask with a single component selected (see the the glossary entry on component masks). See the step-20 tutorial program for a detailed explanation and a use case.
Definition at line 496 of file function.h.
| ComponentSelectFunction< dim, Number >::ComponentSelectFunction | ( | const unsigned int | selected, |
| const Number | value, | ||
| const unsigned int | n_components | ||
| ) |
Constructor if only a single component shall be non-zero. Arguments denote the component selected, the value for that component and the total number of vector components.
| ComponentSelectFunction< dim, Number >::ComponentSelectFunction | ( | const unsigned int | selected, |
| const unsigned int | n_components | ||
| ) |
Constructor. As before, but the value for the selected component is assumed to be one. In essence, this function then works as a mask.
| ComponentSelectFunction< dim, Number >::ComponentSelectFunction | ( | const std::pair< unsigned int, unsigned int > & | selected, |
| const unsigned int | n_components | ||
| ) |
Constructor if multiple components shall have non-zero, unit values (i.e. this should be a mask for multiple components). The first argument denotes a half-open interval of components (for example std::pair(0,dim) for the first dim components), and the second argument is the total number of vector components.
|
virtual |
Substitute function value with value of a ConstantFunction<dim, Number> object and keep the current selection pattern.
This is useful if you want to have different values in different components since the provided constructors of ComponentSelectFunction<dim, Number> class can only have same value for all components.
f from its beginning. So the number of components of f cannot be less than the calling object.
|
virtual |
Return the value of the function at the given point for all components.
Reimplemented from ConstantFunction< dim, Number >.
|
virtual |
Set values to the point values of the function at the points, for all components. It is assumed that values already has the right size, i.e. the same size as the points array.
Reimplemented from ConstantFunction< dim, Number >.
| std::size_t ComponentSelectFunction< dim, Number >::memory_consumption | ( | ) | const |
Return an estimate for the memory consumption, in bytes, of this object. This is not exact (but will usually be close) because calculating the memory usage of trees (e.g., std::map) is difficult.
|
protected |
Half-open interval of the indices of selected components.
Definition at line 567 of file function.h.
1.8.13