#include <FEFunction3D.h>
Public Member Functions | |
TFEFunction3D (TFESpace3D *fespace3D, char *name, char *description, double *values, int length) | |
~TFEFunction3D () | |
char * | GetName () |
char * | GetDescription () |
TFESpace3D * | GetFESpace3D () |
int | GetLength () |
double * | GetValues () |
void | GetErrors (DoubleFunct3D *Exact, int N_Derivatives, MultiIndex3D *NeededDerivatives, int N_Errors, ErrorMethod3D *ErrorMeth, CoeffFct3D *Coeff, TAuxParam3D *Aux, int n_fespaces, TFESpace3D **fespaces, double *errors) |
void | GetErrorsForVectorValuedFunction (DoubleFunct3D **const Exact, ErrorMethod3D *const ErrMeth, double *const errors) |
void | GetErrorsAdapt (DoubleFunct3D *Exact, int N_Derivatives, MultiIndex3D *NeededDerivatives, int N_Errors, ErrorMethod3D *ErrorMeth, CoeffFct3D *Coeff, TAuxParam3D *Aux, int n_fespaces, TFESpace3D **fespaces, double *errors) |
void | GetErrorsOPTPDE (DoubleFunct3D *Exact, int N_Derivatives, MultiIndex3D *NeededDerivatives, int N_Errors, ErrorMethod3D *ErrorMeth, CoeffFct3D *Coeff, TAuxParam3D *Aux, int n_fespaces, TFESpace3D **fespaces, double radius, double upper, double lower, double *errors) |
void | GetMeshCellParams (DoubleFunct3D *Exact, int N_Derivatives, MultiIndex3D *NeededDerivatives, int N_Errors, ErrorMethod3D *ErrorMeth, CoeffFct3D *Coeff, TAuxParam3D *Aux, int n_fespaces, TFESpace3D **fespaces, double *errors, double *cell_parameters) |
void | FindGradient (double x, double y, double z, double *values) |
void | FindGradientLocal (TBaseCell *cell, int cell_no, double x, double y, double z, double *values) |
void | FindValueLocal (TBaseCell *cell, int cell_no, double x, double y, double z, double *values) |
void | Interpolate (DoubleFunct3D *Exact) |
void | InterpolateSuper (DoubleFunct3D *Exact) |
void | Interpolate (int N_Coord, double *Coords, int N_AuxFeFcts, TFEFunction3D **AuxFeFcts, DoubleFunctND *Exact) |
void | Interpolate_vector_valued_function (std::vector< DoubleFunct3D * > Exact) |
interpolate a vector valued function More... | |
void | project_into_L20 (double a=0.0) |
project this functions into the space L20 (having zero mean value) More... | |
void | compute_integral_and_measure (double &integral, double &measure) const |
find the integral of this function and the measure of its domain More... | |
void | SetDirichletBC (BoundCondFunct3D *BoundaryCondition, BoundValueFunct3D *BoudaryValue) |
Set Dirichlet values according to boundary conditions. More... | |
void | MinMax (double &min, double &max) |
find the largest and smallest element in the vector of this FE function | |
void | PrintMinMax () |
print the largest and smallest element in the vector of this FE function | |
Protected Attributes | |
char * | Name |
char * | Description |
TFESpace3D * | FESpace3D |
double * | Values |
int | Length |
a function from a finite element space
TFEFunction3D::TFEFunction3D | ( | TFESpace3D * | fespace3D, |
char * | name, | ||
char * | description, | ||
double * | values, | ||
int | length | ||
) |
constructor with vector initialization
TFEFunction3D::~TFEFunction3D | ( | ) |
destructor
void TFEFunction3D::compute_integral_and_measure | ( | double & | integral, |
double & | measure | ||
) | const |
find the integral of this function and the measure of its domain
[out] | integral | double value for the integral of this TFEFunction2D |
[out] | measure | double value for the measure of its domain |
compute integral and measure
void TFEFunction3D::FindGradient | ( | double | x, |
double | y, | ||
double | z, | ||
double * | values | ||
) |
determine the value of function and its first derivatives at the given point
void TFEFunction3D::FindGradientLocal | ( | TBaseCell * | cell, |
int | cell_no, | ||
double | x, | ||
double | y, | ||
double | z, | ||
double * | values | ||
) |
determine the value of function and its first derivatives at the given point
void TFEFunction3D::FindValueLocal | ( | TBaseCell * | cell, |
int | cell_no, | ||
double | x, | ||
double | y, | ||
double | z, | ||
double * | values | ||
) |
determine the value of function the given point
|
inline |
return description
void TFEFunction3D::GetErrors | ( | DoubleFunct3D * | Exact, |
int | N_Derivatives, | ||
MultiIndex3D * | NeededDerivatives, | ||
int | N_Errors, | ||
ErrorMethod3D * | ErrorMeth, | ||
CoeffFct3D * | Coeff, | ||
TAuxParam3D * | Aux, | ||
int | n_fespaces, | ||
TFESpace3D ** | fespaces, | ||
double * | errors | ||
) |
calculate errors to given function NOTE: errors must be of length N_Errors+1 !!!!
calculate errors to given function
void TFEFunction3D::GetErrorsOPTPDE | ( | DoubleFunct3D * | Exact, |
int | N_Derivatives, | ||
MultiIndex3D * | NeededDerivatives, | ||
int | N_Errors, | ||
ErrorMethod3D * | ErrorMeth, | ||
CoeffFct3D * | Coeff, | ||
TAuxParam3D * | Aux, | ||
int | n_fespaces, | ||
TFESpace3D ** | fespaces, | ||
double | radius, | ||
double | upper, | ||
double | lower, | ||
double * | errors | ||
) |
calculate errors to given function taylored to OPTPDE
calculate errors to given function taylored for OPTPDE
|
inline |
return fe space
|
inline |
return length
void TFEFunction3D::GetMeshCellParams | ( | DoubleFunct3D * | Exact, |
int | N_Derivatives, | ||
MultiIndex3D * | NeededDerivatives, | ||
int | N_Errors, | ||
ErrorMethod3D * | ErrorMeth, | ||
CoeffFct3D * | Coeff, | ||
TAuxParam3D * | Aux, | ||
int | n_fespaces, | ||
TFESpace3D ** | fespaces, | ||
double * | errors, | ||
double * | cell_parameters | ||
) |
calculate errors to given function
|
inline |
return name
|
inline |
return vector of data
void TFEFunction3D::Interpolate | ( | DoubleFunct3D * | Exact | ) |
calculate the interpolation of an exact function
void TFEFunction3D::Interpolate | ( | int | N_Coord, |
double * | Coords, | ||
int | N_AuxFeFcts, | ||
TFEFunction3D ** | AuxFeFcts, | ||
DoubleFunctND * | Exact | ||
) |
interpolation of an exact function with give FeFunction values
calculate the interpolation of an exact function
void TFEFunction3D::Interpolate_vector_valued_function | ( | std::vector< DoubleFunct3D * > | Exact | ) |
interpolate a vector valued function
[in] | Exact | must be of length 3 (= space dimension) |
void TFEFunction3D::InterpolateSuper | ( | DoubleFunct3D * | Exact | ) |
calculate the super-convergence interpolation of an exact function
void TFEFunction3D::project_into_L20 | ( | double | a = 0.0 | ) |
project this functions into the space L20 (having zero mean value)
After a call to this function the mean value (integral of this function devided by the measure of its domain) has the value a. This is for example needed for the pressure in a Stokes problem with Dirichlet conditions on all boundaries.
[in] | a | set mean value of this FEFunction3D to a |
project function into the space L20 (having zero mean value, or in general a mean value)
void TFEFunction3D::SetDirichletBC | ( | BoundCondFunct3D * | BoundaryCondition, |
BoundValueFunct3D * | BoudaryValue | ||
) |
Set Dirichlet values according to boundary conditions.
Set Dirichlet values according to boundary conditions
cout << "USE_ISOPARAMETRIC: " << endl;
cout << "Non_ISOPARAMETRIC: " << endl;
endif
for m<N_Joints
endfor i<N_Cells
|
protected |
some more words describing the function
|
protected |
space to which this function belongs to
|
protected |
length of vector
|
protected |
name of the function
|
protected |
double vector according to FE isomorphism