Hermes2D  3.0
Hermes::Hermes2D::ConstantSolution< Scalar > Class Template Reference
+ Inheritance diagram for Hermes::Hermes2D::ConstantSolution< Scalar >:

Public Member Functions

 ConstantSolution (MeshSharedPtr mesh, Scalar constant)
 
virtual Scalar value (double x, double y) const
 Function returning the value.
 
virtual void derivatives (double x, double y, Scalar &dx, Scalar &dy) const
 Function returning the derivatives.
 
virtual Ord ord (double x, double y) const
 
virtual MeshFunction< Scalar > * clone () const
 
void save (const char *filename) const
 Saves the exact solution to an XML file.
 
template<>
void save (const char *filename) const
 Saves the exact solution to an XML file.
 
template<>
void save (const char *filename) const
 Saves the exact solution to an XML file.
 
- Public Member Functions inherited from Hermes::Hermes2D::ExactSolutionScalar< Scalar >
 ExactSolutionScalar (MeshSharedPtr mesh)
 
virtual unsigned int get_dimension () const
 For Scalar-valued solutions this returns 1.
 
Scalar exact_function (double x, double y, Scalar &dx, 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
 
- 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)
 
RefMapget_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...
 
Quad2Dget_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
Elementget_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.
 

Protected Attributes

Scalar constant
 
- 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.
 
Quad2Dquads [H2D_MAX_QUADRATURES]
 List of available quadratures.
 
int cur_quad
 Active quadrature (index into 'quads')
 
- Protected Attributes inherited from Hermes::Hermes2D::Transformable
Elementelement
 The active element.
 
Trfctm
 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.
 

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
 
Trfget_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)
 
- 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
 

Detailed Description

template<typename Scalar>
class Hermes::Hermes2D::ConstantSolution< Scalar >

Definition at line 144 of file exact_solution.h.

Member Function Documentation

template<typename Scalar >
MeshFunction< Scalar > * Hermes::Hermes2D::ConstantSolution< Scalar >::clone ( ) const
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 295 of file exact_solution.cpp.

template<typename Scalar >
Ord Hermes::Hermes2D::ConstantSolution< Scalar >::ord ( double  x,
double  y 
) const
virtual

Function returning the integration order that should be used when integrating the function.

Implements Hermes::Hermes2D::ExactSolution< Scalar >.

Definition at line 309 of file exact_solution.cpp.


The documentation for this class was generated from the following files: