Public Member Functions | |
JumpFunction (const Point< dim > &direction, const double steepness) | |
virtual double | value (const Point< dim > &p, const unsigned int component=0) const |
virtual void | value_list (const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const |
virtual Tensor< 1, dim > | gradient (const Point< dim > &p, const unsigned int component=0) const |
virtual void | gradient_list (const std::vector< Point< dim > > &points, std::vector< Tensor< 1, dim > > &gradients, const unsigned int component=0) const |
virtual double | laplacian (const Point< dim > &p, const unsigned int component=0) const |
virtual void | laplacian_list (const std::vector< Point< dim > > &points, std::vector< double > &values, const unsigned int component=0) const |
unsigned int | memory_consumption () const |
Protected Attributes | |
const Point< dim > | direction |
const double | steepness |
double | angle |
double | sine |
double | cosine |
If the advection is parallel to the y-axis, the function is -atan(sx)
, where s
is the steepness parameter provided in the constructor.
For different advection directions, this function will be turned in the parameter space.
Together with the function, its derivatives and Laplacian are defined.
Functions::JumpFunction< dim >::JumpFunction | ( | const Point< dim > & | direction, | |
const double | steepness | |||
) |
Constructor. Provide the advection direction here and the steepness of the slope.
virtual double Functions::JumpFunction< dim >::value | ( | const Point< dim > & | p, | |
const unsigned int | component = 0 | |||
) | const [virtual] |
Function value at one point.
Reimplemented from Function< dim >.
virtual void Functions::JumpFunction< dim >::value_list | ( | const std::vector< Point< dim > > & | points, | |
std::vector< double > & | values, | |||
const unsigned int | component = 0 | |||
) | const [virtual] |
Function values at multiple points.
Reimplemented from Function< dim >.
virtual Tensor<1,dim> Functions::JumpFunction< dim >::gradient | ( | const Point< dim > & | p, | |
const unsigned int | component = 0 | |||
) | const [virtual] |
Gradient at one point.
Reimplemented from Function< dim >.
virtual void Functions::JumpFunction< dim >::gradient_list | ( | const std::vector< Point< dim > > & | points, | |
std::vector< Tensor< 1, dim > > & | gradients, | |||
const unsigned int | component = 0 | |||
) | const [virtual] |
Gradients at multiple points.
Reimplemented from Function< dim >.
virtual double Functions::JumpFunction< dim >::laplacian | ( | const Point< dim > & | p, | |
const unsigned int | component = 0 | |||
) | const [virtual] |
Laplacian of the function at one point.
Reimplemented from Function< dim >.
virtual void Functions::JumpFunction< dim >::laplacian_list | ( | const std::vector< Point< dim > > & | points, | |
std::vector< double > & | values, | |||
const unsigned int | component = 0 | |||
) | const [virtual] |
Laplacian of the function at multiple points.
Reimplemented from Function< dim >.
unsigned int Functions::JumpFunction< dim >::memory_consumption | ( | ) | const |
Determine an estimate for the memory consumption (in bytes) of this object. Since sometimes the size of objects can not be determined exactly (for example: what is the memory consumption of an STL std::map
type with a certain number of elements?), this is only an estimate. however often quite close to the true value.
Reimplemented from Function< dim >.
const Point<dim> Functions::JumpFunction< dim >::direction [protected] |
Advection vector.
const double Functions::JumpFunction< dim >::steepness [protected] |
Steepness (maximal derivative) of the slope.
double Functions::JumpFunction< dim >::angle [protected] |
Advection angle.
double Functions::JumpFunction< dim >::sine [protected] |
Sine of angle
.
double Functions::JumpFunction< dim >::cosine [protected] |
Cosine of angle
.