MAST
MAST::ComplexMeshFieldFunction Class Reference

This provides a wrapper FieldFunction compatible class that interpolates the solution using libMesh's MeshFunction class. More...

#include <complex_mesh_field_function.h>

Inheritance diagram for MAST::ComplexMeshFieldFunction:
Collaboration diagram for MAST::ComplexMeshFieldFunction:

Public Member Functions

 ComplexMeshFieldFunction (MAST::SystemInitialization &sys, const std::string &nm)
 constructor More...
 
virtual ~ComplexMeshFieldFunction ()
 destructor More...
 
virtual void operator() (const libMesh::Point &p, const Real t, ComplexVectorX &v) const
 calculates the value of the function at the specified point, p, and time, t, and returns it in v. More...
 
virtual void perturbation (const libMesh::Point &p, const Real t, ComplexVectorX &v) const
 calculates the value of a perturbation in function at the specified point, p, and time, t, and returns it in v. More...
 
void init (const libMesh::NumericVector< Real > &sol_re, const libMesh::NumericVector< Real > &sol_im)
 
void init_perturbation (const libMesh::NumericVector< Real > &dsol_re, const libMesh::NumericVector< Real > &dsol_im)
 
std::pair< libMesh::MeshFunction *, libMesh::MeshFunction * > get_function ()
 
std::pair< libMesh::MeshFunction *, libMesh::MeshFunction * > get_perturbed_function ()
 
void clear ()
 clear the solution and mesh function data structures More...
 
- Public Member Functions inherited from MAST::FieldFunction< ComplexVectorX >
 FieldFunction (const std::string &nm)
 
virtual void operator() (ComplexVectorX &v) const
 calculates the value of the function and returns it in v. More...
 
virtual void perturbation (ComplexVectorX &v) const
 calculates the perturbation and returns it in v. More...
 
virtual void derivative (const MAST::FunctionBase &f, ComplexVectorX &v) const
 calculates the value of the function derivative and returns it in v. More...
 
virtual void derivative (const MAST::FunctionBase &f, const libMesh::Point &p, const Real t, ComplexVectorX &v) const
 calculates the value of the derivative of function with respect to the function f at the specified point, p, and time, t, and returns it in v. More...
 
- Public Member Functions inherited from MAST::FunctionBase
 FunctionBase (const std::string &nm, const bool is_field_func)
 initializes the parameter to the given name More...
 
 FunctionBase (const MAST::FunctionBase &f)
 Copy constructor. More...
 
virtual ~FunctionBase ()
 virtual destructor More...
 
const std::string & name () const
 returns the name of this function More...
 
virtual bool depends_on (const MAST::FunctionBase &f) const
 returns true if the function depends on the provided value More...
 
virtual bool is_shape_parameter () const
 
virtual void set_as_shape_parameter (bool f)
 
virtual bool is_topology_parameter () const
 
virtual void set_as_topology_parameter (bool f)
 

Protected Attributes

MAST::SystemInitialization_system
 current system for which solution is to be interpolated More...
 
libMesh::NumericVector< Real > * _sol_re
 current solution that is going to be interpolated More...
 
libMesh::NumericVector< Real > * _sol_im
 
libMesh::NumericVector< Real > * _perturbed_sol_re
 
libMesh::NumericVector< Real > * _perturbed_sol_im
 
libMesh::MeshFunction * _function_re
 the MeshFunction object that performs the interpolation More...
 
libMesh::MeshFunction * _function_im
 
libMesh::MeshFunction * _perturbed_function_re
 
libMesh::MeshFunction * _perturbed_function_im
 
- Protected Attributes inherited from MAST::FunctionBase
std::string _name
 name of this parameter More...
 
bool _is_field_func
 flag to store the nature of field function More...
 
bool _is_shape_parameter
 
bool _is_topology_parameter
 
std::set< const MAST::FunctionBase * > _functions
 set of functions that this function depends on More...
 

Detailed Description

This provides a wrapper FieldFunction compatible class that interpolates the solution using libMesh's MeshFunction class.

Definition at line 43 of file complex_mesh_field_function.h.

Constructor & Destructor Documentation

MAST::ComplexMeshFieldFunction::ComplexMeshFieldFunction ( MAST::SystemInitialization sys,
const std::string &  nm 
)

constructor

Definition at line 31 of file complex_mesh_field_function.cpp.

MAST::ComplexMeshFieldFunction::~ComplexMeshFieldFunction ( )
virtual

destructor

Definition at line 48 of file complex_mesh_field_function.cpp.

Here is the call graph for this function:

Member Function Documentation

void MAST::ComplexMeshFieldFunction::clear ( )

clear the solution and mesh function data structures

Definition at line 222 of file complex_mesh_field_function.cpp.

Here is the caller graph for this function:

std::pair<libMesh::MeshFunction*, libMesh::MeshFunction*> MAST::ComplexMeshFieldFunction::get_function ( )
inline
Returns
a reference to the libMesh mesh function

Definition at line 82 of file complex_mesh_field_function.h.

Here is the caller graph for this function:

std::pair<libMesh::MeshFunction*, libMesh::MeshFunction*> MAST::ComplexMeshFieldFunction::get_perturbed_function ( )
inline
Returns
a reference to the libMesh mesh function for the perturbation in solution

Definition at line 95 of file complex_mesh_field_function.h.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::ComplexMeshFieldFunction::init ( const libMesh::NumericVector< Real > &  sol_re,
const libMesh::NumericVector< Real > &  sol_im 
)

Definition at line 59 of file complex_mesh_field_function.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::ComplexMeshFieldFunction::init_perturbation ( const libMesh::NumericVector< Real > &  dsol_re,
const libMesh::NumericVector< Real > &  dsol_im 
)

Definition at line 114 of file complex_mesh_field_function.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void MAST::ComplexMeshFieldFunction::operator() ( const libMesh::Point &  p,
const Real  t,
ComplexVectorX v 
) const
virtual

calculates the value of the function at the specified point, p, and time, t, and returns it in v.

Reimplemented from MAST::FieldFunction< ComplexVectorX >.

Definition at line 167 of file complex_mesh_field_function.cpp.

void MAST::ComplexMeshFieldFunction::perturbation ( const libMesh::Point &  p,
const Real  t,
ComplexVectorX v 
) const
virtual

calculates the value of a perturbation in function at the specified point, p, and time, t, and returns it in v.

Reimplemented from MAST::FieldFunction< ComplexVectorX >.

Definition at line 193 of file complex_mesh_field_function.cpp.

Member Data Documentation

libMesh::MeshFunction * MAST::ComplexMeshFieldFunction::_function_im
protected

Definition at line 129 of file complex_mesh_field_function.h.

libMesh::MeshFunction* MAST::ComplexMeshFieldFunction::_function_re
protected

the MeshFunction object that performs the interpolation

Definition at line 129 of file complex_mesh_field_function.h.

libMesh::MeshFunction * MAST::ComplexMeshFieldFunction::_perturbed_function_im
protected

Definition at line 129 of file complex_mesh_field_function.h.

libMesh::MeshFunction * MAST::ComplexMeshFieldFunction::_perturbed_function_re
protected

Definition at line 129 of file complex_mesh_field_function.h.

libMesh::NumericVector<Real> * MAST::ComplexMeshFieldFunction::_perturbed_sol_im
protected

Definition at line 120 of file complex_mesh_field_function.h.

libMesh::NumericVector<Real> * MAST::ComplexMeshFieldFunction::_perturbed_sol_re
protected

Definition at line 120 of file complex_mesh_field_function.h.

libMesh::NumericVector<Real> * MAST::ComplexMeshFieldFunction::_sol_im
protected

Definition at line 120 of file complex_mesh_field_function.h.

libMesh::NumericVector<Real>* MAST::ComplexMeshFieldFunction::_sol_re
protected

current solution that is going to be interpolated

Definition at line 120 of file complex_mesh_field_function.h.

MAST::SystemInitialization* MAST::ComplexMeshFieldFunction::_system
protected

current system for which solution is to be interpolated

Definition at line 114 of file complex_mesh_field_function.h.


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