Hermes2D
2.0
|
This class represents a function with jump discontinuity on an interface of two elements. More...
#include "src/form/forms.h"
Public Member Functions | |
virtual T & | get_val_central (int k) const |
Get values on the central element. | |
virtual T & | get_val_neighbor (int k) const |
Get values on the neighboring element. | |
virtual T & | get_dx_central (int k) const |
Get derivatives wrt. x on the central element. | |
virtual T & | get_dx_neighbor (int k) const |
Get derivatives wrt. x on the neighboring element. | |
virtual T & | get_dy_central (int k) const |
Get derivatives wrt. y on the central element. | |
virtual T & | get_dy_neighbor (int k) const |
Get derivatives wrt. y on the neighboring element. | |
virtual T & | get_laplace_central (int k) |
Get second derivatives (laplacian) on the central element. | |
virtual T & | get_laplace_neighbor (int k) |
Get second derivatives (laplacian) on the neighboring element. | |
DiscontinuousFunc (Func< T > *fn, bool support_on_neighbor=false, bool reverse=false) | |
DiscontinuousFunc (Func< T > *fn_c, Func< T > *fn_n, bool reverse=false) | |
![]() | |
Func (int num_gip, int num_comps) | |
Constructor. More... | |
virtual | ~Func () |
void | subtract (Func< T > *func) |
void | add (T *attribute, T *other_attribute) |
int | get_num_gip () const |
Public Attributes | |
Func< T > * | fn_central |
Central element's component. | |
Func< T > * | fn_neighbor |
Neighbor element's component. | |
![]() | |
T * | val |
Function values. If T == Hermes::Ord and orders vary with direction, this returns max(h_order, v_order). | |
T * | dx |
T * | dy |
First-order partial derivatives. | |
T * | laplace |
Sum of second-order partial derivatives. Enabled by defining H2D_USE_SECOND_DERIVATIVES in h2d_common.h. | |
T * | val0 |
T * | val1 |
Components of a vector field. | |
T * | dx0 |
T * | dx1 |
Components of the gradient of a vector field. | |
T * | dy0 |
T * | dy1 |
Components of the gradient of a vector field. | |
T * | curl |
Components of the curl of a vector field. | |
T * | div |
Components of the div of a vector field. | |
Additional Inherited Members | |
![]() | |
void | subtract (T *attribute, T *other_attribute) |
Calculate this -= func for each function expations and each integration point. More... | |
void | add (Func< T > *func) |
Calculate this += func for each function expations and each integration point. More... | |
![]() | |
const int | num_gip |
Number of integration points used by this intance. | |
const int | nc |
Number of components. Currently accepted values are 1 (H1, L2 space) and 2 (Hcurl, Hdiv space). | |
This class represents a function with jump discontinuity on an interface of two elements.
We will refer to one of the elements sharing the interface of discontinuity as to the central element, while to the other one as to the neighbor element.
Instance of the class may be constructed either with two Func
objects, which represent the continuous components on the central and the neighbor element, respectively, or with only one Func
object and information about its support (where it attains non-zero value). The discontinuous function is in the latter case constructed by extending the supplied function by zero to the other element. Values and derivatives from both elements may then be obtained by querying the corresponding Func
object, using methods get_val_central
, get_val_neighbor
, etc.
Hermes::Hermes2D::DiscontinuousFunc< T >::DiscontinuousFunc | ( | Func< T > * | fn, |
bool | support_on_neighbor = false , |
||
bool | reverse = false |
||
) |
One-component constructor.
[in] | fn | Function defined either on the central or the neighbor element. |
[in] | support_on_neighbor | True if fn is defined on the neighbor element, false if on the central element. |
[in] | reverse | Same meaning as reverse_neighbor_side . |
Hermes::Hermes2D::DiscontinuousFunc< T >::DiscontinuousFunc | ( | Func< T > * | fn_c, |
Func< T > * | fn_n, | ||
bool | reverse = false |
||
) |