Solution Class Reference
[Solutions]
Represents the solution of a PDE.
More...
#include <solution.h>
Inherits MeshFunction.
Inherited by ExactSolution.
List of all members.
Public Member Functions |
| | Solution (Mesh *mesh) |
| virtual | ~Solution () |
| virtual void | free () |
| | Frees all precalculated tables.
|
| void | assign (Solution *sln) |
| Solution & | operator= (Solution &sln) |
| void | copy (const Solution *sln) |
| void | set_exact (exact_fn_t exactfn) |
| void | set_exact (exact_vec_fn_t exactfn) |
| void | set_const (scalar c) |
| void | set_const (scalar c0, scalar c1, scalar c2) |
| void | set_zero () |
| void | set_zero_3 () |
| virtual void | set_fe_solution (Space *space, scalar *vec, double dir=1.0) |
| virtual void | set_active_element (Element *e) |
| | 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.
|
| void | enable_transform (bool enable) |
| | Enables or disables transformation of the solution derivatives (H1 case) or values (vector (Hcurl) case). This means FN_DX_0 and FN_DY_0 or FN_VAL_0 and FN_VAL_1 will or will not be returned premultiplied by the reference mapping matrix. The default is enabled (true).
|
| virtual scalar | get_pt_value (double x, double y, double z, int comp=0) |
| virtual void | precalculate (const int np, const QuadPt3D *pt, int mask) |
| | precalculates the current function at the current integration points.
|
| virtual order3_t | get_order () |
Protected Types |
| enum | { UNDEF = -1,
SLN,
EXACT,
CONST
} |
Protected Member Functions |
| void | init_dxdydz_buffer () |
| void | precalculate_fe (const int np, const QuadPt3D *pt, int mask) |
| void | precalculate_exact (const int np, const QuadPt3D *pt, int mask) |
| void | precalculate_const (const int np, const QuadPt3D *pt, int mask) |
Protected Attributes |
| enum Solution:: { ... } | type |
| bool | transform |
| bool | own_mesh |
| scalar * | mono_coefs |
| int * | elem_coefs [3] |
| | monomial coefficient array
|
| order3_t * | elem_orders |
| | array of pointers into mono_coefs
|
| int | num_coefs |
| | stored element orders (copied from space)
|
| int | num_elems |
| int | num_dofs |
| scalar | cnst [3] |
| union { |
| exact_fn_t exact_fn |
| exact_vec_fn_t exact_vec_fn |
| | exact function
|
| }; | |
| | constant solution
|
| scalar * | dxdydz_coefs [3][4] |
| scalar * | dxdydz_buffer |
| | 3 components, 4 types of values (FN, DX, DY, DZ)
|
Static Protected Attributes |
| static const int | NUM_ELEMENTS = 4 |
Detailed Description
Represents the solution of a PDE.
Solution represents the solution of a PDE. Given a space and a solution vector, it calculates the appripriate linear combination of basis function at the specified element and integration points.
Member Enumeration Documentation
anonymous enum [protected] |
Constructor & Destructor Documentation
| Solution::Solution |
( |
Mesh * |
mesh |
) |
|
| Solution::~Solution |
( |
|
) |
[virtual] |
Member Function Documentation
| void Solution::assign |
( |
Solution * |
sln |
) |
|
| void Solution::copy |
( |
const Solution * |
sln |
) |
|
| void Solution::enable_transform |
( |
bool |
enable |
) |
|
Enables or disables transformation of the solution derivatives (H1 case) or values (vector (Hcurl) case). This means FN_DX_0 and FN_DY_0 or FN_VAL_0 and FN_VAL_1 will or will not be returned premultiplied by the reference mapping matrix. The default is enabled (true).
| void Solution::free |
( |
|
) |
[virtual] |
| order3_t Solution::get_order |
( |
|
) |
[virtual] |
- Returns:
- Order of the function on the active element
Implements MeshFunction.
| virtual scalar Solution::get_pt_value |
( |
double |
x, |
|
|
double |
y, |
|
|
double |
z, |
|
|
int |
comp = 0 | |
|
) |
| | [inline, virtual] |
| void Solution::init_dxdydz_buffer |
( |
|
) |
[protected] |
| void Solution::precalculate |
( |
const int |
np, |
|
|
const QuadPt3D * |
pt, |
|
|
int |
mask | |
|
) |
| | [virtual] |
precalculates the current function at the current integration points.
Implements Function< TYPE >.
| void Solution::precalculate_const |
( |
const int |
np, |
|
|
const QuadPt3D * |
pt, |
|
|
int |
mask | |
|
) |
| | [protected] |
| void Solution::precalculate_exact |
( |
const int |
np, |
|
|
const QuadPt3D * |
pt, |
|
|
int |
mask | |
|
) |
| | [protected] |
| void Solution::precalculate_fe |
( |
const int |
np, |
|
|
const QuadPt3D * |
pt, |
|
|
int |
mask | |
|
) |
| | [protected] |
| void Solution::set_active_element |
( |
Element * |
e |
) |
[virtual] |
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.
- Parameters:
-
| [in] | e | - Element associated with the function being represented by the class. |
Reimplemented from MeshFunction.
| void Solution::set_const |
( |
scalar |
c |
) |
|
| void Solution::set_fe_solution |
( |
Space * |
space, |
|
|
scalar * |
vec, |
|
|
double |
dir = 1.0 | |
|
) |
| | [virtual] |
| void Solution::set_zero |
( |
|
) |
|
| void Solution::set_zero_3 |
( |
|
) |
|
Member Data Documentation
union { ... } [protected] |
3 components, 4 types of values (FN, DX, DY, DZ)
monomial coefficient array
array of pointers into mono_coefs
stored element orders (copied from space)
The documentation for this class was generated from the following files: