|
Hermes2D
3.0
|
Inheritance diagram for Hermes::Hermes2D::ZeroSolutionVector< Scalar >:Public Member Functions | |
| ZeroSolutionVector (MeshSharedPtr mesh) | |
| virtual Scalar2< Scalar > | value (double x, double y) const |
| Function returning the value. | |
| virtual void | derivatives (double x, double y, Scalar2< Scalar > &dx, Scalar2< Scalar > &dy) const |
| Function returning the derivatives. | |
| virtual Ord | ord (double x, double y) const |
| virtual MeshFunction< Scalar > * | clone () const |
Public Member Functions inherited from Hermes::Hermes2D::ExactSolutionVector< Scalar > | |
| ExactSolutionVector (MeshSharedPtr mesh) | |
| virtual unsigned int | get_dimension () const |
| For vector-valued solutions this returns 2. | |
| virtual Scalar2< Scalar > | exact_function (double x, double y, Scalar2< Scalar > &dx, Scalar2< Scalar > &dy) const |
| Function returning the value and derivatives. | |
Public Member Functions inherited from Hermes::Hermes2D::ExactSolution< Scalar > | |
| ExactSolution (MeshSharedPtr mesh) | |
| std::string | getClassName () const |
| virtual void | save (const char *filename) const |
| Saves the exact solution to an XML file. | |
Public Member Functions inherited from Hermes::Hermes2D::Solution< Scalar > | |
| Solution (MeshSharedPtr mesh) | |
| Solution (SpaceSharedPtr< Scalar > s, Vector< Scalar > *coeff_vec) | |
| Solution (SpaceSharedPtr< Scalar > s, Scalar *coeff_vec) | |
| virtual bool | isOkay () const |
| State querying helpers. | |
| virtual void | copy (const MeshFunction< Scalar > *sln) |
| Copy from sln to this instance. | |
| void | set_dirichlet_lift (SpaceSharedPtr< Scalar > space) |
| Sets solution equal to Dirichlet lift only, solution vector = 0. | |
| void | load (const char *filename, SpaceSharedPtr< Scalar > space) |
| Scalar | get_ref_value (Element *e, double xi1, double xi2, int component=0, int item=0) |
| Scalar | get_ref_value_transformed (Element *e, double xi1, double xi2, int a, int b) |
| Scalar ** | get_ref_values_transformed (Element *e, double x, double y) |
| virtual Func< Scalar > * | get_pt_value (double x, double y, bool use_MeshHashGrid=false, Element *e=nullptr) |
| virtual void | add (MeshFunctionSharedPtr< Scalar > &other_mesh_function, SpaceSharedPtr< Scalar > target_space) |
| virtual void | multiply (Scalar coef) |
| Multiplies the function represented by this class by the given coefficient. | |
| SolutionType | get_type () const |
| Returns solution type. | |
| SpaceType | get_space_type () const |
| virtual void | set_active_element (Element *e) |
| Internal. | |
| void | set_type (SolutionType type) |
| virtual void | free () |
| Frees all precalculated tables. | |
| template<> | |
| Solution (MeshSharedPtr mesh) | |
| template<> | |
| Solution (MeshSharedPtr mesh) | |
| template<> | |
| Solution (SpaceSharedPtr< double > s, Vector< double > *coeff_vec) | |
| template<> | |
| Solution (SpaceSharedPtr< std::complex< double > > s, Vector< std::complex< double > > *coeff_vec) | |
| template<> | |
| Solution (SpaceSharedPtr< double > s, double *coeff_vec) | |
| template<> | |
| Solution (SpaceSharedPtr< std::complex< double > > s, std::complex< double > *coeff_vec) | |
| template<> | |
| void | save (const char *filename) const |
| template<> | |
| void | save (const char *filename) const |
| template<> | |
| void | load (const char *filename, SpaceSharedPtr< double > space) |
| template<> | |
| void | load (const char *filename, SpaceSharedPtr< std::complex< double > > space) |
Public Member Functions inherited from Hermes::Hermes2D::MeshFunction< Scalar > | |
| MeshFunction () | |
| Empty constructor. | |
| MeshFunction (MeshSharedPtr mesh) | |
| Constructor. | |
| virtual | ~MeshFunction () |
| Destructor. | |
| MeshSharedPtr | get_mesh () const |
| Return the mesh. | |
| virtual void | copy (MeshFunctionSharedPtr< Scalar > sln) |
| RefMap * | get_refmap (bool update=true) |
| Return the reference mapping. | |
| virtual Scalar | get_approx_max_value (int item=H2D_FN_VAL_0) |
| Return the approximate maximum value of this instance. | |
| virtual Scalar | get_approx_min_value (int item=H2D_FN_VAL_0) |
| Return the approximate minimum value of this instance. | |
| std::string | getClassName () const |
| Internal. | |
| virtual void | reinit () |
| Internal. | |
| virtual void | set_quad_2d (Quad2D *quad_2d) |
| virtual int | get_edge_fn_order (int edge) |
| Returns the order of the edge number edge of the current active element. | |
| template<> | |
| double | get_approx_max_value (int item_) |
| template<> | |
| std::complex< double > | get_approx_max_value (int item_) |
| template<> | |
| double | get_approx_min_value (int item_) |
| template<> | |
| std::complex< double > | get_approx_min_value (int item_) |
Public Member Functions inherited from Hermes::Hermes2D::Function< Scalar > | |
| Function () | |
| Default constructor. | |
| virtual | ~Function () |
| unsigned char | get_num_components () const |
| Returns the number of components of the function being represented by the class. | |
| virtual const Scalar * | get_fn_values (int component=0) const |
| Returns function values. More... | |
| virtual const Scalar * | get_dx_values (int component=0) const |
| Returns the x partial derivative. More... | |
| virtual const Scalar * | get_dy_values (int component=0) const |
| Returns the y partial derivative. More... | |
| Scalar * | deep_copy_array (int component=0, int item=0) const |
| Returns function values. More... | |
| Quad2D * | get_quad_2d () const |
| Returns the current quadrature points. | |
| void | set_quad_order (unsigned short order, unsigned short mask=H2D_FN_DEFAULT) |
| virtual const Scalar * | get_values (int component, int item) const |
| virtual int | get_fn_order () const |
| Returns the polynomial degree of the function being represented by the class. | |
| virtual void | push_transform (int son) |
| virtual void | pop_transform () |
| virtual void | set_transform (uint64_t idx) |
Public Member Functions inherited from Hermes::Hermes2D::Transformable | |
| Element * | get_active_element () const |
| uint64_t | get_transform () const |
Public Member Functions inherited from Hermes::Hermes2D::Mixins::XMLParsing | |
| XMLParsing () | |
| Constructor. | |
| void | set_validation (bool to_set) |
| Set to validate / not to validate. | |
Additional Inherited Members | |
Static Public Member Functions inherited from Hermes::Hermes2D::Solution< Scalar > | |
| static void | make_dx_coeffs (int mode, int o, Scalar *mono, Scalar *result) |
| static void | make_dy_coeffs (int mode, int o, Scalar *mono, Scalar *result) |
| static void | set_static_verbose_output (bool verbose) |
| static void | vector_to_solutions (const Scalar *solution_vector, std::vector< SpaceSharedPtr< Scalar > > spaces, std::vector< MeshFunctionSharedPtr< Scalar > > solutions, std::vector< bool > add_dir_lift=std::vector< bool >(), std::vector< int > start_indices=std::vector< int >()) |
| Passes solution components calculated from solution vector as Solutions. | |
| static void | vector_to_solution (const Scalar *solution_vector, SpaceSharedPtr< Scalar > space, MeshFunctionSharedPtr< Scalar > solution, bool add_dir_lift=true, int start_index=0) |
| static void | vector_to_solution (const Scalar *solution_vector, SpaceSharedPtr< Scalar > space, Solution< Scalar > *solution, bool add_dir_lift=true, int start_index=0) |
| static void | vector_to_solutions (const Vector< Scalar > *vec, std::vector< SpaceSharedPtr< Scalar > > spaces, std::vector< MeshFunctionSharedPtr< Scalar > > solutions, std::vector< bool > add_dir_lift=std::vector< bool >(), std::vector< int > start_indices=std::vector< int >()) |
| static void | vector_to_solutions_common_dir_lift (const Vector< Scalar > *vec, std::vector< SpaceSharedPtr< Scalar > > spaces, std::vector< MeshFunctionSharedPtr< Scalar > > solutions, bool add_dir_lift=false) |
| static void | vector_to_solutions_common_dir_lift (const Scalar *solution_vector, std::vector< SpaceSharedPtr< Scalar > > spaces, std::vector< MeshFunctionSharedPtr< Scalar > > solutions, bool add_dir_lift=false) |
| static void | vector_to_solution (const Vector< Scalar > *vec, SpaceSharedPtr< Scalar > space, MeshFunctionSharedPtr< Scalar > solution, bool add_dir_lift=true, int start_index=0) |
Public Attributes inherited from Hermes::Hermes2D::Solution< Scalar > | |
| Scalar * | mono_coeffs |
| Monomial coefficient array. | |
| int * | elem_orders |
Static Public Attributes inherited from Hermes::Hermes2D::Solution< Scalar > | |
| static bool | static_verbose_output = false |
Static Public Attributes inherited from Hermes::Hermes2D::Transformable | |
| static const unsigned int | H2D_MAX_TRN_LEVEL = 15 |
| If this changes, NeighborSearch::H2D_MAX_NEIGHBORS must change too. | |
Protected Member Functions inherited from Hermes::Hermes2D::Solution< Scalar > | |
| void | enable_transform (bool enable=true) |
| virtual void | init () |
| Internal. | |
| virtual void | set_coeff_vector (SpaceSharedPtr< Scalar > space, const Vector< Scalar > *vec, bool add_dir_lift, int start_index) |
| Converts a coefficient vector into a Solution. | |
| virtual void | set_coeff_vector (SpaceSharedPtr< Scalar > space, const Scalar *coeffs, bool add_dir_lift, int start_index) |
| void | transform_values (int order, int mask, int np) |
| virtual void | precalculate (unsigned short order, unsigned short mask) |
| precalculates the current function at the current integration points. | |
| double ** | calc_mono_matrix (int mode, unsigned char o) |
| void | init_dxdy_buffer () |
| void | check_space_type_compliance (const char *space_type_to_check) const |
| Internal, checks the compliance of the passed space type and owned space type. | |
| void | load_exact_solution (int number_of_components, SpaceSharedPtr< Scalar > space, bool complexness, double x_real, double y_real, double x_complex, double y_complex) |
| Special internal method for loading exact solutions. | |
| template<> | |
| void | load_exact_solution (int number_of_components, SpaceSharedPtr< double > space, bool complexness, double x_real, double y_real, double x_complex, double y_complex) |
| template<> | |
| void | load_exact_solution (int number_of_components, SpaceSharedPtr< std::complex< double > > space, bool complexness, double x_real, double y_real, double x_complex, double y_complex) |
Protected Member Functions inherited from Hermes::Hermes2D::MeshFunction< Scalar > | |
| void | update_refmap () |
Protected Member Functions inherited from Hermes::Hermes2D::Function< Scalar > | |
| virtual void | reset_transform () |
| Empties the stack, loads identity transform. | |
| virtual void | force_transform (uint64_t sub_idx, Trf *ctm) |
| For internal use only. | |
| virtual int | get_edge_fn_order (unsigned char edge) const |
| Returns the polynomial degree of the function at given edge. To be overridden in derived classes. More... | |
| void | invalidate_values () |
Protected Member Functions inherited from Hermes::Hermes2D::Transformable | |
| double | get_transform_jacobian () const |
| Trf * | get_ctm () const |
| unsigned int | get_depth () const |
Static Protected Member Functions inherited from Hermes::Hermes2D::Transformable | |
| static void | push_transforms (std::set< Transformable * > &transformables, int son) |
| static void | pop_transforms (std::set< Transformable * > &transformables) |
Protected Attributes inherited from Hermes::Hermes2D::ExactSolution< Scalar > | |
| Scalar | exact_multiplicator |
| For scaling of the solution. | |
Protected Attributes inherited from Hermes::Hermes2D::Solution< Scalar > | |
| SolutionType | sln_type |
| SpaceType | space_type |
| bool | transform |
| int * | elem_coeffs [H2D_MAX_SOLUTION_COMPONENTS] |
| array of pointers into mono_coeffs | |
| int | num_coeffs |
| int | num_elems |
| int | num_dofs |
| Scalar * | dxdy_coeffs [H2D_MAX_SOLUTION_COMPONENTS][H2D_NUM_FUNCTION_VALUES] |
| Scalar * | dxdy_buffer |
| Scalar | x [H2D_MAX_INTEGRATION_POINTS_COUNT] |
| Utility. | |
| Scalar | y [H2D_MAX_INTEGRATION_POINTS_COUNT] |
| Scalar | tx [H2D_MAX_INTEGRATION_POINTS_COUNT] |
Protected Attributes inherited from Hermes::Hermes2D::MeshFunction< Scalar > | |
| ElementMode2D | mode |
| MeshSharedPtr | mesh |
| RefMap | refmap |
Protected Attributes inherited from Hermes::Hermes2D::Function< Scalar > | |
| Scalar | values [H2D_MAX_SOLUTION_COMPONENTS][H2D_NUM_FUNCTION_VALUES][H2D_MAX_INTEGRATION_POINTS_COUNT] |
| The data. | |
| bool | values_valid |
| Flag that the data are not 'dirty'. | |
| int | order |
| Current function polynomial order. | |
| unsigned char | num_components |
| Number of vector components. | |
| Quad2D * | quads [H2D_MAX_QUADRATURES] |
| List of available quadratures. | |
| int | cur_quad |
| Active quadrature (index into 'quads') | |
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. | |
Protected Attributes inherited from Hermes::Hermes2D::Mixins::XMLParsing | |
| bool | validate |
| Internal. | |
Static Protected Attributes inherited from Hermes::Hermes2D::Function< Scalar > | |
| static int | idx2mask [H2D_NUM_FUNCTION_VALUES][2] |
| Index to mask table. More... | |
Static Protected Attributes inherited from Hermes::Hermes2D::Transformable | |
| static const uint64_t | H2D_MAX_IDX = (1ULL << 3 * H2D_MAX_TRN_LEVEL) - 1 |
Definition at line 207 of file exact_solution.h.
|
virtual |
Cloning function - for parallel OpenMP blocks. Designed to return an identical clone of this instance.
Reimplemented from Hermes::Hermes2D::ExactSolution< Scalar >.
Definition at line 542 of file exact_solution.cpp.
|
virtual |
Function returning the integration order that should be used when integrating the function.
Implements Hermes::Hermes2D::ExactSolution< Scalar >.
Definition at line 537 of file exact_solution.cpp.