libMesh::FEComputeData Class Reference

#include <fe_compute_data.h>

List of all members.

Public Member Functions

 FEComputeData (const EquationSystems &es, const Point &pin)
void clear ()
void init ()

Public Attributes

const EquationSystemsequation_systems
const Pointp
std::vector< Numbershape
Real phase
Real speed
Real frequency

Detailed Description

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. -- With special finite elements disabled (like infinite elements), this class wraps the return values of all shape functions from FEInterface::shape() in a std::vector<Number>. -- With enabled infinite elements, this class returns a vector of physically correct shape functions, both for finite and infinite elements.

Definition at line 46 of file fe_compute_data.h.


Constructor & Destructor Documentation

libMesh::FEComputeData::FEComputeData ( const EquationSystems es,
const Point pin 
) [inline]

Constructor. Takes the required input data and clears the output data using clear().

Definition at line 57 of file fe_compute_data.h.

References clear().

00058                                    :
00059     equation_systems(es),
00060     p(pin)
00061   {
00062     this->clear();
00063   }


Member Function Documentation

void libMesh::FEComputeData::clear (  ) 

Clears the output data completely.

Definition at line 26 of file fe_compute_data.C.

References frequency, phase, shape, and speed.

Referenced by FEComputeData().

00027 {
00028   this->shape.clear();
00029 #if defined(LIBMESH_ENABLE_INFINITE_ELEMENTS) && !defined(LIBMESH_USE_COMPLEX_NUMBERS)
00030   this->phase = 0.;
00031   this->speed = 0.;
00032 #endif
00033 
00034 #if defined (LIBMESH_ENABLE_INFINITE_ELEMENTS) && defined(LIBMESH_USE_COMPLEX_NUMBERS)
00035   this->speed = 0.;
00036   this->frequency = 0.;
00037 
00038 #endif
00039 }

void libMesh::FEComputeData::init (  ) 

Inits the output data to default values, provided the fields are correctly resized.

Definition at line 43 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().

00044 {
00045   if (!(this->shape.empty()))
00046     std::fill (this->shape.begin(),   this->shape.end(),   0.);
00047 
00048 #if defined(LIBMESH_ENABLE_INFINITE_ELEMENTS) && !defined(LIBMESH_USE_COMPLEX_NUMBERS)
00049   this->phase = 0.;
00050 
00051   if (equation_systems.parameters.have_parameter<Real>("speed"))
00052     this->speed = this->equation_systems.parameters.get<Real>("speed");
00053 #endif
00054 
00055 #if defined (LIBMESH_ENABLE_INFINITE_ELEMENTS) && defined(LIBMESH_USE_COMPLEX_NUMBERS)
00056   if (equation_systems.parameters.have_parameter<Real>("speed"))
00057     this->speed = this->equation_systems.parameters.get<Real>("speed");
00058 
00059   if (equation_systems.parameters.have_parameter<Real>("current frequency"))
00060     this->frequency = this->equation_systems.parameters.get<Real>("current frequency");
00061 
00062 #endif
00063 }


Member Data Documentation

Const reference to the EquationSystems object that contains simulation-specific data.

Definition at line 72 of file fe_compute_data.h.

Referenced by init().

The frequency to evaluate shape functions including the wave number depending terms

Definition at line 109 of file fe_compute_data.h.

Referenced by clear(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), and init().

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().

Storage for the computed phase lag

Definition at line 92 of file fe_compute_data.h.

Referenced by clear(), libMesh::InfFE< Dim, T_radial, T_map >::compute_data(), and init().


The documentation for this class was generated from the following files:

Site Created By: libMesh Developers
Last modified: February 05 2013 19:55:24 UTC

Hosted By:
SourceForge.net Logo