|
| ExactSolutionVector (MeshSharedPtr mesh) |
|
virtual unsigned int | get_dimension () const |
| For vector-valued solutions this returns 2.
|
|
virtual Scalar2< Scalar > | value (double x, double y) const =0 |
| Function returning the value.
|
|
virtual void | derivatives (double x, double y, Scalar2< Scalar > &dx, Scalar2< Scalar > &dy) const =0 |
| Function returning the derivatives.
|
|
virtual Scalar2< Scalar > | exact_function (double x, double y, Scalar2< Scalar > &dx, Scalar2< Scalar > &dy) const |
| Function returning the value and derivatives.
|
|
| ExactSolution (MeshSharedPtr mesh) |
|
virtual MeshFunction< Scalar > * | clone () const |
|
std::string | getClassName () const |
|
virtual void | save (const char *filename) const |
| Saves the exact solution to an XML file.
|
|
virtual Hermes::Ord | ord (double x, double y) const =0 |
|
| 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) |
|
| 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_) |
|
| 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) |
|
Element * | get_active_element () const |
|
uint64_t | get_transform () const |
|
| XMLParsing () |
| Constructor.
|
|
void | set_validation (bool to_set) |
| Set to validate / not to validate.
|
|
|
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) |
|
Scalar * | mono_coeffs |
| Monomial coefficient array.
|
|
int * | elem_orders |
|
static bool | static_verbose_output = false |
|
static const unsigned int | H2D_MAX_TRN_LEVEL = 15 |
| If this changes, NeighborSearch::H2D_MAX_NEIGHBORS must change too.
|
|
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) |
|
void | update_refmap () |
|
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 () |
|
double | get_transform_jacobian () const |
|
Trf * | get_ctm () const |
|
unsigned int | get_depth () const |
|
static void | push_transforms (std::set< Transformable * > &transformables, int son) |
|
static void | pop_transforms (std::set< Transformable * > &transformables) |
|
Scalar | exact_multiplicator |
| For scaling of the solution.
|
|
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] |
|
ElementMode2D | mode |
|
MeshSharedPtr | mesh |
|
RefMap | refmap |
|
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')
|
|
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.
|
|
bool | validate |
| Internal.
|
|
static int | idx2mask [H2D_NUM_FUNCTION_VALUES][2] |
| Index to mask table. More...
|
|
static const uint64_t | H2D_MAX_IDX = (1ULL << 3 * H2D_MAX_TRN_LEVEL) - 1 |
|
template<typename Scalar>
class Hermes::Hermes2D::ExactSolutionVector< Scalar >
Definition at line 29 of file essential_boundary_conditions.h.