LifeV
BCInterfaceFunctionParserSolver< BcHandlerType, PhysicalSolverType > Class Template Reference

BCInterfaceFunctionParserSolver - LifeV boundary condition function file wrapper for BCInterface. More...

#include <BCInterfaceFunctionParserSolver.hpp>

+ Inheritance diagram for BCInterfaceFunctionParserSolver< BcHandlerType, PhysicalSolverType >:
+ Collaboration diagram for BCInterfaceFunctionParserSolver< BcHandlerType, PhysicalSolverType >:

Public Member Functions

template<>
void updatePhysicalSolverVariables ()
 
template<>
void updatePhysicalSolverVariables ()
 
template<>
void updatePhysicalSolverVariables ()
 
template<>
void updatePhysicalSolverVariables ()
 
template<>
void updatePhysicalSolverVariables ()
 
template<>
void updatePhysicalSolverVariables ()
 
template<>
void updatePhysicalSolverVariables ()
 
template<>
void updatePhysicalSolverVariables ()
 
template<>
void updatePhysicalSolverVariables ()
 
template<>
void updatePhysicalSolverVariables ()
 
template<>
void updatePhysicalSolverVariables ()
 
template<>
void updatePhysicalSolverVariables ()
 
- Public Member Functions inherited from BCInterfaceFunctionParser< BcHandlerType, PhysicalSolverType >
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
template<>
void setData (const std::shared_ptr< BCInterfaceData > &data)
 
 BCInterfaceFunctionParser ()
 Empty Constructor. More...
 
virtual ~BCInterfaceFunctionParser ()
 Destructor. More...
 
void assignFunction (bcBase_Type &base)
 Assign the function to the base of the BCHandler. More...
 
Real functionTime (const Real &t)
 Function of time. More...
 
Real functionTimeTimeStep (const Real &t, const Real &timeStep)
 Function of time and time step. More...
 
Real functionTimeSpace (const Real &t, const Real &x, const Real &y, const Real &z, const ID &)
 Function of time and space. More...
 
Real functionTimeSpaceID (const Real &t, const Real &x, const Real &y, const Real &z, const ID &id)
 Function of time and space with ID. More...
 
- Public Member Functions inherited from BCInterfaceFunction< BcHandlerType, PhysicalSolverType >
 BCInterfaceFunction ()
 Empty Constructor. More...
 
virtual ~BCInterfaceFunction ()
 Destructor. More...
 

Protected Types

enum  physicalSolverList {
  f_timeStep, f_area, f_flux, f_density,
  f_pressure, f_viscosity, f_venousPressure, s_density,
  s_poisson, s_thickness, s_young, s_externalPressure
}
 

Protected Member Functions

template<>
void createAccessList (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void createAccessList (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void createAccessList (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void createAccessList (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void createAccessList (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void createAccessList (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void createAccessList (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void createAccessList (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void createAccessList (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void createAccessList (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void createAccessList (const std::shared_ptr< BCInterfaceData > &data)
 
template<>
void createAccessList (const std::shared_ptr< BCInterfaceData > &data)
 
- Protected Member Functions inherited from BCInterfaceFunctionParser< BcHandlerType, PhysicalSolverType >
virtual void dataInterpolation ()
 dataInterpolation More...
 

Protected Attributes

physicalSolverPtr_Type M_physicalSolver
 
solutionPtr_Type M_solution
 
ID M_boundaryID
 
std::set< physicalSolverListM_list
 
- Protected Attributes inherited from BCInterfaceFunctionParser< BcHandlerType, PhysicalSolverType >
parserPtr_Type M_parser
 

Type definitions

typedef BcHandlerType bcHandler_Type
 
typedef PhysicalSolverType physicalSolver_Type
 
typedef std::shared_ptr< physicalSolver_TypephysicalSolverPtr_Type
 
typedef BCInterfaceFunction< bcHandler_Type, physicalSolver_Typefunction_Type
 
typedef BCInterfaceFunctionParser< bcHandler_Type, physicalSolver_TypefunctionParser_Type
 
typedef PhysicalSolverType::solutionPtr_Type solutionPtr_Type
 
typedef function_Type::data_Type data_Type
 
typedef function_Type::dataPtr_Type dataPtr_Type
 

Constructors & Destructor

 BCInterfaceFunctionParserSolver ()
 Constructor. More...
 
virtual ~BCInterfaceFunctionParserSolver ()
 Destructor. More...
 

Methods

void updatePhysicalSolverVariables ()
 Update the solver variables. More...
 

Set Methods

virtual void setData (const dataPtr_Type &data)
 Set data for boundary conditions. More...
 
void setPhysicalSolver (const physicalSolverPtr_Type &physicalSolver)
 Set the physical solver. More...
 
void setSolution (const solutionPtr_Type &solution)
 Set solution. More...
 
void setVariable (const std::string &name, const Real &value)
 Set variable function. More...
 

Protected Methods

void createAccessList (const dataPtr_Type &)
 Create the list of variables for the physical solver. More...
 

Unimplemented Methods

 BCInterfaceFunctionParserSolver (const BCInterfaceFunctionParserSolver &function)
 
BCInterfaceFunctionParserSolveroperator= (const BCInterfaceFunctionParserSolver &function)
 

Private Methods

void createFluidMap (std::map< std::string, physicalSolverList > &mapList)
 
void createSolidMap (std::map< std::string, physicalSolverList > &mapList)
 
void createList (const std::map< std::string, physicalSolverList > &mapList, const dataPtr_Type &data)
 
void switchErrorMessage (const std::string &operatorType)
 

Additional Inherited Members

- Public Types inherited from BCInterfaceFunctionParser< BcHandlerType, PhysicalSolverType >
typedef BcHandlerType bcHandler_Type
 
typedef PhysicalSolverType physicalSolver_Type
 
typedef BCInterfaceFunction< bcHandler_Type, physicalSolver_Typefunction_Type
 
typedef function_Type::boundaryFunctionTime_Type boundaryFunctionTime_Type
 
typedef function_Type::boundaryFunctionTimeTimeStep_Type boundaryFunctionTimeTimeStep_Type
 
typedef function_Type::boundaryFunctionTimeSpaceID_Type boundaryFunctionTimeSpaceID_Type
 
typedef Parser parser_Type
 
typedef std::shared_ptr< parser_TypeparserPtr_Type
 
typedef function_Type::data_Type data_Type
 
typedef function_Type::dataPtr_Type dataPtr_Type
 
typedef function_Type::bcBase_Type bcBase_Type
 
- Public Types inherited from BCInterfaceFunction< BcHandlerType, PhysicalSolverType >
typedef BcHandlerType bcHandler_Type
 
typedef PhysicalSolverType physicalSolver_Type
 
typedef bcHandler_Type::bcFunction_Type bcBase_Type
 
typedef BCInterfaceData data_Type
 
typedef std::shared_ptr< data_TypedataPtr_Type
 
typedef std::function< Real(const Real &) > boundaryFunctionTime_Type
 
typedef std::function< Real(const Real &, const Real &) > boundaryFunctionTimeTimeStep_Type
 
typedef std::function< Real(const Real &, const Real &, const Real &, const Real &, const ID &) > boundaryFunctionTimeSpaceID_Type
 

Detailed Description

template<typename BcHandlerType, typename PhysicalSolverType>
class LifeV::BCInterfaceFunctionParserSolver< BcHandlerType, PhysicalSolverType >

BCInterfaceFunctionParserSolver - LifeV boundary condition function file wrapper for BCInterface.

Author
Cristiano Malossi

This class is an interface between the BCInterface, the Parser, and a general LifeV physical solver (such as OseenSolver or FSISolver). It allows to construct LifeV function types for boundary conditions, using a functions string loaded from a GetPot file in which are present some physical solver parameters.

The class can be used in two ways:

  1. first hereditate it and then implement the template specialization for the methods createAccessList() and updatePhysicalSolverVariables();
  2. manually setting the variables by using the setVariable() method.

See BCInterfaceFunctionParser class for more details.

AVAILABLE VARIABLES
Current available variables are:

  • f_timeStep
  • f_area
  • f_density
  • f_flux
  • f_pressure
  • f_viscosity
  • f_venousPressure
  • s_density
  • s_poisson
  • s_thickness
  • s_young
  • s_externalPressure

Of course, some of those variables are available only for fluid problems, other only for solid problems.

Definition at line 85 of file BCInterfaceFunctionParserSolver.hpp.

Member Typedef Documentation

◆ bcHandler_Type

typedef BcHandlerType bcHandler_Type

Definition at line 92 of file BCInterfaceFunctionParserSolver.hpp.

◆ physicalSolver_Type

typedef PhysicalSolverType physicalSolver_Type

Definition at line 93 of file BCInterfaceFunctionParserSolver.hpp.

◆ physicalSolverPtr_Type

typedef std::shared_ptr< physicalSolver_Type > physicalSolverPtr_Type

Definition at line 95 of file BCInterfaceFunctionParserSolver.hpp.

◆ function_Type

◆ functionParser_Type

◆ solutionPtr_Type

typedef PhysicalSolverType::solutionPtr_Type solutionPtr_Type

Definition at line 98 of file BCInterfaceFunctionParserSolver.hpp.

◆ data_Type

◆ dataPtr_Type

Member Enumeration Documentation

◆ physicalSolverList

enum physicalSolverList
protected
Enumerator
f_timeStep 
f_area 
f_flux 
f_density 
f_pressure 
f_viscosity 
f_venousPressure 
s_density 
s_poisson 
s_thickness 
s_young 
s_externalPressure 

Definition at line 189 of file BCInterfaceFunctionParserSolver.hpp.

Constructor & Destructor Documentation

◆ BCInterfaceFunctionParserSolver() [1/2]

Constructor.

Definition at line 253 of file BCInterfaceFunctionParserSolver.hpp.

+ Here is the caller graph for this function:

◆ ~BCInterfaceFunctionParserSolver()

virtual ~BCInterfaceFunctionParserSolver ( )
inlinevirtual

Destructor.

Definition at line 113 of file BCInterfaceFunctionParserSolver.hpp.

◆ BCInterfaceFunctionParserSolver() [2/2]

BCInterfaceFunctionParserSolver ( const BCInterfaceFunctionParserSolver< BcHandlerType, PhysicalSolverType > &  function)
private

Member Function Documentation

◆ updatePhysicalSolverVariables() [1/13]

void updatePhysicalSolverVariables ( )
inline

Update the solver variables.

NOTE: A template specialization of this method should be provided for each solver.

Definition at line 125 of file BCInterfaceFunctionParserSolver.hpp.

◆ setData()

void setData ( const dataPtr_Type data)
virtual

Set data for boundary conditions.

Parameters
dataBC data loaded from GetPot file

Reimplemented from BCInterfaceFunctionParser< BcHandlerType, PhysicalSolverType >.

Reimplemented in BCInterfaceFunctionParserFileSolver< BcHandlerType, PhysicalSolverType >.

Definition at line 275 of file BCInterfaceFunctionParserSolver.hpp.

◆ setPhysicalSolver()

void setPhysicalSolver ( const physicalSolverPtr_Type physicalSolver)
inline

Set the physical solver.

Parameters
physicalSolverphysical solver

Definition at line 146 of file BCInterfaceFunctionParserSolver.hpp.

◆ setSolution()

void setSolution ( const solutionPtr_Type solution)
inline

Set solution.

Parameters
solutionThe solution container of the 1D problem

Definition at line 155 of file BCInterfaceFunctionParserSolver.hpp.

◆ setVariable()

void setVariable ( const std::string &  name,
const Real value 
)
inline

Set variable function.

Parameters
namename of the variable
valuevalue of the variable

Definition at line 165 of file BCInterfaceFunctionParserSolver.hpp.

◆ createAccessList() [1/13]

void createAccessList ( const dataPtr_Type )
inlineprotected

Create the list of variables for the physical solver.

NOTE: A template specialization of this method should be provided for each solver.

Definition at line 181 of file BCInterfaceFunctionParserSolver.hpp.

+ Here is the caller graph for this function:

◆ operator=()

BCInterfaceFunctionParserSolver& operator= ( const BCInterfaceFunctionParserSolver< BcHandlerType, PhysicalSolverType > &  function)
private

◆ createFluidMap()

void createFluidMap ( std::map< std::string, physicalSolverList > &  mapList)
inlineprivate

Definition at line 296 of file BCInterfaceFunctionParserSolver.hpp.

◆ createSolidMap()

void createSolidMap ( std::map< std::string, physicalSolverList > &  mapList)
inlineprivate

Definition at line 309 of file BCInterfaceFunctionParserSolver.hpp.

◆ createList()

void createList ( const std::map< std::string, physicalSolverList > &  mapList,
const dataPtr_Type data 
)
inlineprivate

Definition at line 320 of file BCInterfaceFunctionParserSolver.hpp.

◆ switchErrorMessage()

void switchErrorMessage ( const std::string &  operatorType)
inlineprivate

Definition at line 230 of file BCInterfaceFunctionParserSolver.hpp.

◆ updatePhysicalSolverVariables() [2/13]

void updatePhysicalSolverVariables ( )

Definition at line 48 of file BCInterfaceFunctionParserSolver0D.cpp.

◆ createAccessList() [2/13]

void createAccessList ( const std::shared_ptr< BCInterfaceData > &  data)
protected

Definition at line 93 of file BCInterfaceFunctionParserSolver0D.cpp.

◆ updatePhysicalSolverVariables() [3/13]

void updatePhysicalSolverVariables ( )

◆ createAccessList() [3/13]

void createAccessList ( const std::shared_ptr< BCInterfaceData > &  data)
protected

◆ updatePhysicalSolverVariables() [4/13]

void updatePhysicalSolverVariables ( )

Definition at line 48 of file BCInterfaceFunctionParserSolver1D.cpp.

◆ createAccessList() [4/13]

void createAccessList ( const std::shared_ptr< BCInterfaceData > &  data)
protected

Definition at line 191 of file BCInterfaceFunctionParserSolver1D.cpp.

◆ updatePhysicalSolverVariables() [5/13]

void updatePhysicalSolverVariables ( )

◆ createAccessList() [5/13]

void createAccessList ( const std::shared_ptr< BCInterfaceData > &  data)
protected

◆ updatePhysicalSolverVariables() [6/13]

void updatePhysicalSolverVariables ( )

Definition at line 48 of file BCInterfaceFunctionParserSolverFluid3D.cpp.

◆ updatePhysicalSolverVariables() [7/13]

void updatePhysicalSolverVariables ( )

Definition at line 126 of file BCInterfaceFunctionParserSolverFluid3D.cpp.

◆ createAccessList() [6/13]

void createAccessList ( const std::shared_ptr< BCInterfaceData > &  data)
protected

Definition at line 209 of file BCInterfaceFunctionParserSolverFluid3D.cpp.

◆ createAccessList() [7/13]

void createAccessList ( const std::shared_ptr< BCInterfaceData > &  data)
protected

Definition at line 229 of file BCInterfaceFunctionParserSolverFluid3D.cpp.

◆ updatePhysicalSolverVariables() [8/13]

void updatePhysicalSolverVariables ( )

◆ updatePhysicalSolverVariables() [9/13]

void updatePhysicalSolverVariables ( )

◆ createAccessList() [8/13]

void createAccessList ( const std::shared_ptr< BCInterfaceData > &  data)
protected

◆ createAccessList() [9/13]

void createAccessList ( const std::shared_ptr< BCInterfaceData > &  data)
protected

◆ updatePhysicalSolverVariables() [10/13]

void updatePhysicalSolverVariables ( )

Definition at line 48 of file BCInterfaceFunctionParserSolverFSI3D.cpp.

◆ createAccessList() [10/13]

void createAccessList ( const std::shared_ptr< BCInterfaceData > &  data)
protected

Definition at line 192 of file BCInterfaceFunctionParserSolverFSI3D.cpp.

◆ updatePhysicalSolverVariables() [11/13]

void updatePhysicalSolverVariables ( )

◆ createAccessList() [11/13]

void createAccessList ( const std::shared_ptr< BCInterfaceData > &  data)
protected

◆ updatePhysicalSolverVariables() [12/13]

void updatePhysicalSolverVariables ( )

Definition at line 48 of file BCInterfaceFunctionParserSolverSolid3D.cpp.

◆ createAccessList() [12/13]

void createAccessList ( const std::shared_ptr< BCInterfaceData > &  data)
protected

Definition at line 125 of file BCInterfaceFunctionParserSolverSolid3D.cpp.

◆ updatePhysicalSolverVariables() [13/13]

void updatePhysicalSolverVariables ( )

◆ createAccessList() [13/13]

void createAccessList ( const std::shared_ptr< BCInterfaceData > &  data)
protected

Field Documentation

◆ M_physicalSolver

physicalSolverPtr_Type M_physicalSolver
protected

Definition at line 205 of file BCInterfaceFunctionParserSolver.hpp.

◆ M_solution

solutionPtr_Type M_solution
protected

Definition at line 206 of file BCInterfaceFunctionParserSolver.hpp.

◆ M_boundaryID

ID M_boundaryID
protected

Definition at line 208 of file BCInterfaceFunctionParserSolver.hpp.

◆ M_list

std::set< physicalSolverList > M_list
protected

Definition at line 209 of file BCInterfaceFunctionParserSolver.hpp.


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