LifeV
OneDFSIBCHandler Class Reference

OneDFSIBCHandler - Class featuring methods to handle boundary conditions. More...

#include <OneDFSIBCHandler.hpp>

+ Collaboration diagram for OneDFSIBCHandler:

Private Attributes

std::map< bcSide_Type, bcPtr_TypeM_boundary
 
std::map< bcSide_Type, std::map< bcLine_Type, bool > > M_boundarySet
 
std::vector< bcFunctionSolverDefinedPtr_TypeM_defaultFunctions
 

Type definitions

typedef OneDFSIBC bc_Type
 
typedef std::shared_ptr< bc_TypebcPtr_Type
 
typedef bc_Type::bcFunction_Type bcFunction_Type
 
typedef bc_Type::bcFunctionPtr_Type bcFunctionPtr_Type
 
typedef bc_Type::bcFunctionSolverDefined_Type bcFunctionSolverDefined_Type
 
typedef bc_Type::bcFunctionSolverDefinedPtr_Type bcFunctionSolverDefinedPtr_Type
 
typedef bc_Type::fluxPtr_Type fluxPtr_Type
 
typedef bc_Type::sourcePtr_Type sourcePtr_Type
 
typedef bc_Type::solution_Type solution_Type
 
typedef bc_Type::solutionPtr_Type solutionPtr_Type
 
typedef bc_Type::vectorPtrContainer_Type vectorPtrContainer_Type
 
typedef bc_Type::vector_Type vector_Type
 
typedef bc_Type::matrix_Type matrix_Type
 
typedef bc_Type::bcLine_Type bcLine_Type
 
typedef bc_Type::bcSide_Type bcSide_Type
 
typedef bc_Type::bcType_Type bcType_Type
 

Constructors & Destructor

 OneDFSIBCHandler ()
 Empty Constructor. More...
 
 OneDFSIBCHandler (const OneDFSIBCHandler &bcHandler)
 Copy constructor. More...
 
virtual ~OneDFSIBCHandler ()
 Destructor. More...
 

Methods

void applyBC (const Real &time, const Real &timeStep, const solution_Type &solution, const fluxPtr_Type &fluxPtr, vectorPtrContainer_Type &rhs)
 Apply boundary conditions to the rhs of the Taylor-Galerkin problem. More...
 
void applyViscoelasticBC (const fluxPtr_Type &fluxPtr, matrix_Type &matrix, vector_Type &rhs)
 Apply boundary conditions to the rhs of the viscoelastic problem. More...
 

Set Methods

void setBC (const bcSide_Type &bcSide, const bcLine_Type &bcLine, const bcType_Type &bcType, const bcFunction_Type &bcFunction)
 Set a boundary condition. More...
 
void setDefaultBC ()
 Set the default boundary conditions. More...
 
void setFluxSource (const fluxPtr_Type &fluxPtr, const sourcePtr_Type &sourcePtr)
 Set the flux and the source classes for the problem. More...
 
void setSolution (const solutionPtr_Type &solutionPtr)
 Set the solution of the problem. More...
 

Get Methods

const bcPtr_Typebc (const bcSide_Type &bcSide) const
 Get a specific boundary condition. More...
 
const bool & bcReady (const bcSide_Type &bcSide, const bcLine_Type &bcLine) const
 Return true if the boundary condition has been set. More...
 

Unimplemented Methods

OneDFSIBCHandleroperator= (const OneDFSIBCHandler &bcHandler)
 

Detailed Description

OneDFSIBCHandler - Class featuring methods to handle boundary conditions.

Author
Lucia Mirabella, Tiziano Passerini, Cristiano Malossi
See also
Equations and networks of 1-D models [7]
Geometrical multiscale coupling of 1-D models [12] [13]

We need to impose 2 boundary condition on each side of the 1D segment. These boundary conditions are stored in OneDFSIBC objects.

Definition at line 63 of file OneDFSIBCHandler.hpp.

Member Typedef Documentation

◆ bc_Type

typedef OneDFSIBC bc_Type

Definition at line 70 of file OneDFSIBCHandler.hpp.

◆ bcPtr_Type

typedef std::shared_ptr< bc_Type > bcPtr_Type

Definition at line 71 of file OneDFSIBCHandler.hpp.

◆ bcFunction_Type

Definition at line 73 of file OneDFSIBCHandler.hpp.

◆ bcFunctionPtr_Type

◆ bcFunctionSolverDefined_Type

◆ bcFunctionSolverDefinedPtr_Type

◆ fluxPtr_Type

Definition at line 78 of file OneDFSIBCHandler.hpp.

◆ sourcePtr_Type

Definition at line 79 of file OneDFSIBCHandler.hpp.

◆ solution_Type

Definition at line 80 of file OneDFSIBCHandler.hpp.

◆ solutionPtr_Type

◆ vectorPtrContainer_Type

◆ vector_Type

Definition at line 85 of file OneDFSIBCHandler.hpp.

◆ matrix_Type

Definition at line 86 of file OneDFSIBCHandler.hpp.

◆ bcLine_Type

Definition at line 88 of file OneDFSIBCHandler.hpp.

◆ bcSide_Type

Definition at line 89 of file OneDFSIBCHandler.hpp.

◆ bcType_Type

Definition at line 90 of file OneDFSIBCHandler.hpp.

Constructor & Destructor Documentation

◆ OneDFSIBCHandler() [1/2]

OneDFSIBCHandler ( )
explicit

Empty Constructor.

Definition at line 51 of file OneDFSIBCHandler.cpp.

+ Here is the caller graph for this function:

◆ OneDFSIBCHandler() [2/2]

OneDFSIBCHandler ( const OneDFSIBCHandler bcHandler)
explicit

Copy constructor.

Parameters
bcHandlerOneDFSIBCHandler

Definition at line 70 of file OneDFSIBCHandler.cpp.

+ Here is the caller graph for this function:

◆ ~OneDFSIBCHandler()

virtual ~OneDFSIBCHandler ( )
inlinevirtual

Destructor.

Definition at line 108 of file OneDFSIBCHandler.hpp.

Member Function Documentation

◆ applyBC()

void applyBC ( const Real time,
const Real timeStep,
const solution_Type solution,
const fluxPtr_Type fluxPtr,
vectorPtrContainer_Type rhs 
)

Apply boundary conditions to the rhs of the Taylor-Galerkin problem.

Parameters
timethe current time.
timeStepthe time step.
solutionthe solution container.
fluxPtrpointer to the flux class.
rhsthe rhs of the Taylor-Galerking problem.

Definition at line 97 of file OneDFSIBCHandler.cpp.

+ Here is the caller graph for this function:

◆ applyViscoelasticBC()

void applyViscoelasticBC ( const fluxPtr_Type fluxPtr,
matrix_Type matrix,
vector_Type rhs 
)

Apply boundary conditions to the rhs of the viscoelastic problem.

Parameters
fluxPtrpointer to the flux class.
matrixthe matrix of the viscoelastic problem.
rhsthe rhs of the viscoelastic problem.

Definition at line 105 of file OneDFSIBCHandler.cpp.

◆ setBC()

void setBC ( const bcSide_Type bcSide,
const bcLine_Type bcLine,
const bcType_Type bcType,
const bcFunction_Type bcFunction 
)

Set a boundary condition.

Parameters
bcSidethe side of the boundary condition (left or right).
bcLinethe line of the boundary condition (first or second).
bcTypethe type of the boundary condition ( $Q$, $A$, $P$, $S$, $W_1$, $W_2$).
bcFunctionthe boundary condition function.

Definition at line 115 of file OneDFSIBCHandler.cpp.

+ Here is the caller graph for this function:

◆ setDefaultBC()

void setDefaultBC ( )

Set the default boundary conditions.

This is done only for the boundary conditions that have not been set yet.

Definition at line 129 of file OneDFSIBCHandler.cpp.

◆ setFluxSource()

void setFluxSource ( const fluxPtr_Type fluxPtr,
const sourcePtr_Type sourcePtr 
)

Set the flux and the source classes for the problem.

Parameters
fluxPtrpointer to the flux term of the problem.
sourcepointer to the source term of the problem.

Definition at line 205 of file OneDFSIBCHandler.cpp.

◆ setSolution()

void setSolution ( const solutionPtr_Type solutionPtr)

Set the solution of the problem.

Parameters
solutionPtrpointer to the solution of the problem.

Definition at line 214 of file OneDFSIBCHandler.cpp.

◆ bc()

const bcPtr_Type& bc ( const bcSide_Type bcSide) const
inline

Get a specific boundary condition.

Parameters
bcSidethe side of the boundary condition (left or right).
Returns
the pointer to the boundary conditions on a specific side

Definition at line 180 of file OneDFSIBCHandler.hpp.

◆ bcReady()

const bool& bcReady ( const bcSide_Type bcSide,
const bcLine_Type bcLine 
) const
inline

Return true if the boundary condition has been set.

Parameters
bcSidethe side of the boundary condition (left or right).
bcLinethe line of the boundary condition (first or second).
Returns
true if the boundary condition has been set, false otherwise.

Definition at line 191 of file OneDFSIBCHandler.hpp.

◆ operator=()

OneDFSIBCHandler& operator= ( const OneDFSIBCHandler bcHandler)
private

Field Documentation

◆ M_boundary

std::map< bcSide_Type, bcPtr_Type > M_boundary
private

Definition at line 207 of file OneDFSIBCHandler.hpp.

◆ M_boundarySet

std::map< bcSide_Type, std::map< bcLine_Type, bool > > M_boundarySet
private

Definition at line 208 of file OneDFSIBCHandler.hpp.

◆ M_defaultFunctions

std::vector< bcFunctionSolverDefinedPtr_Type > M_defaultFunctions
private

Definition at line 210 of file OneDFSIBCHandler.hpp.


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