Hermes2D
2.0
|
#include <filter.h>
Public Member Functions | |
LinearFilter (MeshFunction< Scalar > *old) | |
LinearFilter (MeshFunction< Scalar > *older, MeshFunction< Scalar > *old, double tau_frac=1) | |
virtual Func< Scalar > * | get_pt_value (double x, double y) |
Returns the value at the coordinates x,y. | |
virtual MeshFunction< Scalar > * | clone () const |
![]() | |
Filter (const Hermes::vector< MeshFunction< Scalar > * > &solutions) | |
Filter (MeshFunction< Scalar > **solutions, int num) | |
Filter (const Hermes::vector< Solution< Scalar > * > &solutions) | |
virtual void | reinit () |
std::string | getClassName () const |
State querying helpers. | |
![]() | |
MeshFunction (const Mesh *mesh) | |
virtual bool | isOkay () const |
State querying helpers. | |
std::string | getClassName () const |
Get class name, for the purpose of messaging. | |
const Mesh * | get_mesh () const |
RefMap * | get_refmap (bool update=true) |
void | set_refmap (RefMap *refmap_to_set) |
virtual int | get_edge_fn_order (int edge) |
virtual void | handle_overflow_idx () |
![]() | |
Function () | |
Default constructor. | |
virtual | ~Function () |
int | get_num_components () const |
Returns the number of components of the function being represented by the class. | |
Scalar * | get_fn_values (int component=0) |
Returns function values. More... | |
Scalar * | get_dx_values (int component=0) |
Returns the x partial derivative. More... | |
Scalar * | get_dy_values (int component=0) |
Returns the y partial derivative. More... | |
void | get_dx_dy_values (Scalar *&dx, Scalar *&dy, int component=0) |
Returns both x and y partial derivatives. This function provides the both often-used dx and dy values in one call. More... | |
Scalar * | get_dxx_values (int component=0) |
Returns the second x partial derivative. More... | |
Scalar * | get_dyy_values (int component=0) |
Returns the second y partial derivative. More... | |
Scalar * | get_dxy_values (int component=0) |
Returns the second mixed derivative. More... | |
Quad2D * | get_quad_2d () const |
Returns the current quadrature points. | |
void | set_quad_order (unsigned int order, int mask=H2D_FN_DEFAULT) |
Scalar * | get_values (int a, int b) |
int | get_fn_order () const |
Returns the polynomial degree of the function being represented by the class. | |
![]() | |
Element * | get_active_element () const |
void | set_transform (uint64_t idx) |
uint64_t | get_transform () const |
![]() | |
void | check () const |
Method to handle the state. | |
Protected Member Functions | |
virtual void | precalculate (int order, int mask) |
precalculates the current function at the current integration points. | |
void | init_components () |
virtual void | set_active_element (Element *e) |
![]() | |
void | init (const Hermes::vector< MeshFunction< Scalar > * > &solutions) |
virtual void | set_quad_2d (Quad2D *quad_2d) |
Selects the quadrature points in which the function will be evaluated. More... | |
virtual void | free () |
Frees all precalculated tables. | |
virtual void | push_transform (int son) |
See Transformable::push_transform. | |
virtual void | pop_transform () |
virtual void | init () |
void | copy_base (Filter *flt) |
virtual void | setDeleteSolutions () |
![]() | |
void | force_transform (MeshFunction< Scalar > *mf) |
void | update_refmap () |
void | force_transform (uint64_t sub_idx, Trf *ctm) |
![]() | |
virtual int | get_edge_fn_order (int edge) const |
Returns the polynomial degree of the function at given edge. To be overridden in derived classes. More... | |
void | update_nodes_ptr () |
void | force_transform (uint64_t sub_idx, Trf *ctm) |
For internal use only. | |
Node * | new_node (int mask, int num_points) |
allocates a new Node structure | |
void | replace_cur_node (Node *node) |
![]() | |
void | reset_transform () |
Empties the stack, loads identity transform. | |
double | get_transform_jacobian () const |
Trf * | get_ctm () const |
unsigned int | get_depth () const |
Protected Attributes | |
double | tau_frac |
![]() | |
int | num |
MeshFunction< Scalar > * | sln [H2D_MAX_COMPONENTS] |
uint64_t | sln_sub [H2D_MAX_COMPONENTS] |
std::map< uint64_t, LightArray < struct Filter< Scalar > ::Node * > * > | tables [H2D_MAX_QUADRATURES] |
bool | unimesh |
UniData ** | unidata |
bool | deleteSolutions |
![]() | |
ElementMode2D | mode |
const Mesh * | mesh |
RefMap * | refmap |
![]() | |
int | order |
current function polynomial order | |
int | num_components |
number of vector components | |
std::map< uint64_t, LightArray < Node * > * > * | sub_tables |
Table of Node tables, for each possible transformation there can be a different Node table. | |
LightArray< Node * > * | nodes |
Table of nodes. | |
Node * | cur_node |
Current Node. | |
LightArray< Node * > * | overflow_nodes |
Nodes for the overflow sub-element transformation. | |
Quad2D * | quads [8] |
list of available quadratures | |
int | cur_quad |
active quadrature (index into 'quads') | |
int | total_mem |
total memory in bytes used by the tables | |
int | max_mem |
peak memory usage | |
![]() | |
Element * | element |
The active element. | |
Trf * | ctm |
Current sub-element transformation matrix. | |
uint64_t | sub_idx |
Sub-element transformation index. | |
Trf | stack [21] |
Transformation matrix stack. | |
unsigned int | top |
Stack top. | |
Additional Inherited Members | |
![]() | |
static void | check_params (int component, Node *cur_node, int num_components) |
static void | check_table (int component, Node *cur_node, int n, const char *msg) |
![]() | |
static int | idx2mask [6][2] |
index to mask table More... | |
Linearization filter for use in nonlinear problems. From one or two previous solution values it extrapolates an estimate of the new one. With adaptive time step: tau_frac = tau_new / tau_old
|
protectedvirtual |
Called by the assembling procedure and by other functions. In PrecalcShapeset it sets an internal variable that can be later retrieved by get_active_element(). In Solution it selects the element to retrieve solution values for, etc.
e[in] | Element associated with the function being represented by the class. |
Reimplemented from Hermes::Hermes2D::Filter< Scalar >.
Definition at line 1217 of file filter.cpp.