NSF Postdoctoral Research
A set of C++ code developed by Andrew E. Slaughter
SlaughterFEM::EqCore< Type > Class Template Reference

A class containing methods for accessing libMesh::Systems This class is meant to be a inherited from other classes; hence, the constructors are all protected. More...

#include <eq_core.h>

Inheritance diagram for SlaughterFEM::EqCore< Type >:

List of all members.

Public Member Functions

string name ()
 The name of the system.
Type & get_system ()
 Returns a reference to the system created by this class.
template<typename ParamType >
ParamType get_constant (string name)
 Template function for extracting heat equation parameter.
template<typename ParamType >
void set_constant (string name, ParamType var)
 Template function for setting a heat equation parameter.

Protected Member Functions

 EqCore (EquationSystems &sys, string name)
 General class constructor for non-existing systems.
 EqCore (EquationSystems &sys)
 A private constructor for existing systems.

Protected Attributes

EquationSystems & eq_sys
 A reference to the equation system passed in at construction.
string name_
 The name of the system created by the class.

Detailed Description

template<typename Type>
class SlaughterFEM::EqCore< Type >

A class containing methods for accessing libMesh::Systems This class is meant to be a inherited from other classes; hence, the constructors are all protected.

See also:
EqDataBase
EqVariableLinker

Constructor & Destructor Documentation

template<typename Type>
SlaughterFEM::EqCore< Type >::EqCore ( EquationSystems &  sys,
string  name 
) [inline, protected]

General class constructor for non-existing systems.

This constructor takes the system name as an argument, as such it automatically creates the system.

Template Parameters:
TypeThe type of libMesh::System (e.g., ExplicitSystem)
Parameters:
syslibMesh::EquationSystems object that will contain the libMesh::System created
nameA string containing the system name to be created
See also:
EqBaseData
template<typename Type>
SlaughterFEM::EqCore< Type >::EqCore ( EquationSystems &  sys) [inline, protected]

A private constructor for existing systems.

This constructor is useful for inherited classes that extract the use an existing system, as is the case with the EqVariableLinker class.

Template Parameters:
TypeThe type of libMesh::System (e.g., ExplicitSystem)
Parameters:
syslibMesh::EquationSystems object that will contain the libMesh::System created
See also:
EqVariableLinker

Member Function Documentation

template<typename Type>
template<typename ParamType >
ParamType SlaughterFEM::EqCore< Type >::get_constant ( string  name) [inline]

Template function for extracting heat equation parameter.

Template Parameters:
ParamTypeThe type of parameter being extracted (e.g., double)
Parameters:
nameThe name of the parameter (e.g., "density")

The primary reason for this is for future expansion to allow for parameters that vary with space and time.

template<typename Type>
Type& SlaughterFEM::EqCore< Type >::get_system ( ) [inline]

Returns a reference to the system created by this class.

This function simply acts a short-cut for gathering the system that was generated in the class constructor rather than getting it from the supplied EquationSystems object.

Returns:
A reference to the system created by this class
template<typename Type>
string SlaughterFEM::EqCore< Type >::name ( ) [inline]

The name of the system.

Returns:
The name of the system that the class is linked.
template<typename Type>
template<typename ParamType >
void SlaughterFEM::EqCore< Type >::set_constant ( string  name,
ParamType  var 
) [inline]

Template function for setting a heat equation parameter.

Template Parameters:
ParamTypeThe type of parameter being added (e.g., double)
Parameters:
nameThe name of the parameter (e.g., "density")
varThe value of the parameter (e.g., 123)

The primary reason for this is for future expansion to allow for parameters that vary with space and time.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs