libMesh
|
class FEComputeData
hides arbitrary data to be passed to and from children of FEBase
through the FEInterface::compute_data()
method.
More...
#include <fe_compute_data.h>
Public Member Functions | |
FEComputeData (const EquationSystems &es, const Point &pin) | |
Constructor. More... | |
void | clear () |
Clears the output data completely. More... | |
void | init () |
Inits the output data to default values, provided the fields are correctly resized. More... | |
void | enable_derivative () |
Enable the computation of shape gradients (dshape). More... | |
void | disable_derivative () |
Disable the computation of shape gradients (dshape). More... | |
bool | need_derivative () |
Check whether derivatives should be computed or not. More... | |
Public Attributes | |
const EquationSystems & | equation_systems |
Const reference to the EquationSystems object that contains simulation-specific data. More... | |
const Point & | p |
Holds the point where the data are to be computed. More... | |
std::vector< Number > | shape |
Storage for the computed shape function values. More... | |
std::vector< Gradient > | dshape |
Storage for the computed shape derivative values. More... | |
std::vector< std::vector< Real > > | local_transform |
Storage for local to global mapping at p . More... | |
Real | phase |
Storage for the computed phase lag. More... | |
Real | speed |
The wave speed. More... | |
Number | frequency |
The frequency to evaluate shape functions including the wave number depending terms. More... | |
Private Attributes | |
bool | _need_dshape |
variable indicating whether the shape-derivative should be computed or not. More... | |
class FEComputeData
hides arbitrary data to be passed to and from children of FEBase
through the FEInterface::compute_data()
method.
This enables the efficient computation of data on the finite element level, while maintaining library integrity.
FEInterface::shape()
in a std::vector<Number>
.Definition at line 51 of file fe_compute_data.h.
|
inline |
Constructor.
Takes the required input data and clears the output data using clear()
.
Definition at line 58 of file fe_compute_data.h.
References clear().
void libMesh::FEComputeData::clear | ( | ) |
Clears the output data completely.
Definition at line 25 of file fe_compute_data.C.
References dshape, frequency, local_transform, phase, shape, and speed.
Referenced by FEComputeData().
|
inline |
Disable the computation of shape gradients (dshape).
Default is disabled.
Definition at line 137 of file fe_compute_data.h.
References _need_dshape.
void libMesh::FEComputeData::enable_derivative | ( | ) |
Enable the computation of shape gradients (dshape).
Definition at line 71 of file fe_compute_data.C.
References _need_dshape, and dshape.
Referenced by libMesh::MeshFunction::_gradient_on_elem(), and libMesh::System::point_gradient().
void libMesh::FEComputeData::init | ( | ) |
Inits the output data to default values, provided the fields are correctly resized.
Definition at line 40 of file fe_compute_data.C.
References equation_systems, frequency, libMesh::Parameters::get(), libMesh::Parameters::have_parameter(), libMesh::EquationSystems::parameters, phase, libMesh::Real, shape, and speed.
Referenced by libMesh::FEInterface::compute_data().
|
inline |
Check whether derivatives should be computed or not.
Definition at line 143 of file fe_compute_data.h.
References _need_dshape.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), and libMesh::FEInterface::compute_data().
|
private |
variable indicating whether the shape-derivative should be computed or not.
Default is false to save time and be compatible with elements where derivatives are not implemented/ cannot be computed.
Definition at line 152 of file fe_compute_data.h.
Referenced by disable_derivative(), enable_derivative(), and need_derivative().
std::vector<Gradient> libMesh::FEComputeData::dshape |
Storage for the computed shape derivative values.
Definition at line 86 of file fe_compute_data.h.
Referenced by libMesh::MeshFunction::_gradient_on_elem(), clear(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), libMesh::FEInterface::compute_data(), enable_derivative(), and libMesh::System::point_gradient().
const EquationSystems& libMesh::FEComputeData::equation_systems |
Const reference to the EquationSystems
object that contains simulation-specific data.
Definition at line 71 of file fe_compute_data.h.
Referenced by init().
Number libMesh::FEComputeData::frequency |
The frequency to evaluate shape functions including the wave number depending terms.
Use imaginary contributions for exponential damping
Definition at line 114 of file fe_compute_data.h.
Referenced by clear(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), and init().
std::vector<std::vector<Real> > libMesh::FEComputeData::local_transform |
Storage for local to global mapping at p
.
This is needed when the gradient in physical coordinates is of interest. FIXME: What kind of type should one use for it? The matrix-class don't look as if they were made for it and neither are the TensorTool-members.
Definition at line 96 of file fe_compute_data.h.
Referenced by libMesh::MeshFunction::_gradient_on_elem(), clear(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), libMesh::FEInterface::compute_data(), and libMesh::System::point_gradient().
const Point& libMesh::FEComputeData::p |
Holds the point where the data are to be computed.
Definition at line 76 of file fe_compute_data.h.
Referenced by libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), and libMesh::FEInterface::compute_data().
Real libMesh::FEComputeData::phase |
Storage for the computed phase lag.
Definition at line 102 of file fe_compute_data.h.
Referenced by clear(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), and init().
std::vector<Number> libMesh::FEComputeData::shape |
Storage for the computed shape function values.
Definition at line 81 of file fe_compute_data.h.
Referenced by clear(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), libMesh::FEInterface::compute_data(), libMesh::MeshFunction::discontinuous_value(), libMesh::DTKEvaluator::evaluate(), init(), and libMesh::MeshFunction::operator()().
Real libMesh::FEComputeData::speed |
The wave speed.
Definition at line 107 of file fe_compute_data.h.
Referenced by clear(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), and init().