16 #ifndef __H2D_PRECALC_H
17 #define __H2D_PRECALC_H
19 #include "../function/function.h"
20 #include "../shapeset/shapeset.h"
36 SpaceType get_space_type()
const;
49 virtual void set_active_shape(
int index);
52 virtual void set_quad_2d(
Quad2D* quad_2d);
58 int get_active_shape()
const;
64 virtual unsigned short get_edge_fn_order(
int edge);
73 double2 ref_points[H2D_MAX_INTEGRATION_POINTS_COUNT];
75 virtual void precalculate(
unsigned short order,
unsigned short mask);
77 void update_max_index();
81 template<
typename T>
friend class Adapt;
82 template<
typename T>
friend class Func;
83 template<
typename T>
friend class Solution;
98 unsigned char shapeset_id;
99 unsigned short max_index[2];
100 unsigned short ref_count;
103 double*** PrecalculatedValues[
H2D_NUM_MODES][H2D_NUM_FUNCTION_VALUES];
125 const double* get_fn_values(
int component = 0)
const;
130 const double* get_dx_values(
int component = 0)
const;
135 const double* get_dy_values(
int component = 0)
const;
137 #ifdef H2D_USE_SECOND_DERIVATIVES
138 const double* get_dxx_values(
int component = 0)
const;
146 const double* get_dyy_values(
int component = 0)
const;
151 const double* get_dxy_values(
int component = 0)
const;
154 const double* get_values(
int component,
unsigned short item)
const;
157 virtual void precalculate(
unsigned short order,
unsigned short mask);
161 bool attempt_to_reuse(
unsigned short order)
const;
162 bool reuse_possible()
const;
PrecalcShapeset variant for fast assembling.
Caches precalculated shape function values.
This class represents a function with jump discontinuity on an interface of two elements.
#define H2D_NUM_MODES
Internal.
Represents an arbitrary function defined on an element.
Should be exactly the same as is the count of enum ShapesetType.
PrecalcShapesetAssembling common storage.
This class is a one-thread (non-DG) assembly worker.
Represents the reference mapping.
This class characterizes a neighborhood of a given edge in terms of adjacent elements and provides me...
Represents the solution of a PDE.