|
Hermes2D
2.0
|
#include <filter.h>
Inheritance diagram for Hermes::Hermes2D::ComplexFilter:Public Member Functions | |
| ComplexFilter (MeshFunction< std::complex< double > > *solution, int item=H2D_FN_VAL_0) | |
Public Member Functions inherited from Hermes::Hermes2D::Filter< double > | |
| Filter (const Hermes::vector< MeshFunction< double > * > &solutions) | |
| Filter (MeshFunction< double > **solutions, int num) | |
| Filter (const Hermes::vector< Solution< double > * > &solutions) | |
| virtual void | reinit () |
| std::string | getClassName () const |
| State querying helpers. | |
Public Member Functions inherited from Hermes::Hermes2D::MeshFunction< double > | |
| 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 () |
| virtual MeshFunction< double > * | clone () const |
Public Member Functions inherited from Hermes::Hermes2D::Function< double > | |
| Function () | |
| Default constructor. | |
| virtual | ~Function () |
| int | get_num_components () const |
| Returns the number of components of the function being represented by the class. | |
| double * | get_fn_values (int component=0) |
| Returns function values. More... | |
| double * | get_dx_values (int component=0) |
| Returns the x partial derivative. More... | |
| double * | get_dy_values (int component=0) |
| Returns the y partial derivative. More... | |
| void | get_dx_dy_values (double *&dx, double *&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... | |
| double * | get_dxx_values (int component=0) |
| Returns the second x partial derivative. More... | |
| double * | get_dyy_values (int component=0) |
| Returns the second y partial derivative. More... | |
| double * | 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) |
| double * | get_values (int a, int b) |
| int | get_fn_order () const |
| Returns the polynomial degree of the function being represented by the class. | |
Public Member Functions inherited from Hermes::Hermes2D::Transformable | |
| Element * | get_active_element () const |
| void | set_transform (uint64_t idx) |
| uint64_t | get_transform () const |
Public Member Functions inherited from Hermes::Hermes2D::Mixins::StateQueryable | |
| void | check () const |
| Method to handle the state. | |
Protected Member Functions | |
| virtual Func< double > * | get_pt_value (double x, double y) |
| Returns the value at the coordinates x,y. | |
| virtual void | set_quad_2d (Quad2D *quad_2d) |
| Selects the quadrature points in which the function will be evaluated. More... | |
| virtual void | set_active_element (Element *e) |
| virtual void | push_transform (int son) |
| See Transformable::push_transform. | |
| virtual void | pop_transform () |
| virtual void | free () |
| Frees all precalculated tables. | |
| virtual void | filter_fn (int n, std::complex< double > *values, double *result)=0 |
| virtual void | precalculate (int order, int mask) |
| precalculates the current function at the current integration points. | |
Protected Member Functions inherited from Hermes::Hermes2D::Filter< double > | |
| void | init (const Hermes::vector< MeshFunction< double > * > &solutions) |
| virtual void | init () |
| void | copy_base (Filter *flt) |
| virtual void | setDeleteSolutions () |
Protected Member Functions inherited from Hermes::Hermes2D::MeshFunction< double > | |
| void | force_transform (MeshFunction< double > *mf) |
| void | force_transform (uint64_t sub_idx, Trf *ctm) |
| void | update_refmap () |
Protected Member Functions inherited from Hermes::Hermes2D::Function< double > | |
| 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) |
Protected Member Functions inherited from Hermes::Hermes2D::Transformable | |
| 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 | |
|
MeshFunction< std::complex < double > > * | sln_complex |
| int | item |
Protected Attributes inherited from Hermes::Hermes2D::Filter< double > | |
| int | num |
| MeshFunction< double > * | sln [H2D_MAX_COMPONENTS] |
| uint64_t | sln_sub [H2D_MAX_COMPONENTS] |
| std::map< uint64_t, LightArray < struct Filter< double > ::Node * > * > | tables [H2D_MAX_QUADRATURES] |
| bool | unimesh |
| UniData ** | unidata |
| bool | deleteSolutions |
Protected Attributes inherited from Hermes::Hermes2D::MeshFunction< double > | |
| ElementMode2D | mode |
| const Mesh * | mesh |
| RefMap * | refmap |
Protected Attributes inherited from Hermes::Hermes2D::Function< double > | |
| 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 | |
Protected Attributes inherited from Hermes::Hermes2D::Transformable | |
| 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 Protected Member Functions inherited from Hermes::Hermes2D::Function< double > | |
| 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 Protected Attributes inherited from Hermes::Hermes2D::Function< double > | |
| static int | idx2mask [6][2] |
| index to mask table | |
ComplexFilter is used to transform complex solutions into its real parts.
|
protectedvirtual |
Removes the current transformation matrix from the top of the stack. The new top becomes the current transformation matrix. This returns the transform to the state before the last push_transform() was performed.
Reimplemented from Hermes::Hermes2D::Filter< double >.
Definition at line 493 of file filter.cpp.
|
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< double >.
Definition at line 463 of file filter.cpp.
|
protectedvirtual |
Selects the quadrature points in which the function will be evaluated.
It is possible to switch back and forth between different quadrature points: no precalculated values are freed. The standard quadrature is always selected by default already.
| quad_2d[in] | The quadrature points. |
Reimplemented from Hermes::Hermes2D::Filter< double >.
Definition at line 457 of file filter.cpp.