43 #ifndef OneDFSIBCHandler_H 44 #define OneDFSIBCHandler_H 46 #include <lifev/one_d_fsi/solver/OneDFSIDefinitions.hpp> 47 #include <lifev/one_d_fsi/fem/OneDFSIBC.hpp> 73 typedef bc_Type::bcFunction_Type bcFunction_Type;
74 typedef bc_Type::bcFunctionPtr_Type bcFunctionPtr_Type;
78 typedef bc_Type::fluxPtr_Type fluxPtr_Type;
79 typedef bc_Type::sourcePtr_Type sourcePtr_Type;
80 typedef bc_Type::solution_Type solution_Type;
81 typedef bc_Type::solutionPtr_Type solutionPtr_Type;
83 typedef bc_Type::vectorPtrContainer_Type vectorPtrContainer_Type;
124 void applyBC (
const Real& time,
const Real& timeStep,
const solution_Type& solution,
125 const fluxPtr_Type& fluxPtr, vectorPtrContainer_Type& rhs );
133 void applyViscoelasticBC (
const fluxPtr_Type& fluxPtr, matrix_Type& matrix, vector_Type& rhs );
148 void setBC (
const bcSide_Type& bcSide,
const bcLine_Type& bcLine,
const bcType_Type& bcType,
const bcFunction_Type& bcFunction );
161 void setFluxSource (
const fluxPtr_Type& fluxPtr,
const sourcePtr_Type& sourcePtr );
167 void setSolution (
const solutionPtr_Type& solutionPtr );
182 return M_boundary.find ( bcSide )->second;
191 const bool&
bcReady (
const bcSide_Type& bcSide,
const bcLine_Type& bcLine )
const 193 return M_boundarySet.find ( bcSide )->second.find ( bcLine )->second;
const bool & bcReady(const bcSide_Type &bcSide, const bcLine_Type &bcLine) const
Return true if the boundary condition has been set.
OneDFSIBCHandler(const OneDFSIBCHandler &bcHandler)
Copy constructor.
void setBC(const bcSide_Type &bcSide, const bcLine_Type &bcLine, const bcType_Type &bcType, const bcFunction_Type &bcFunction)
Set a boundary condition.
void updateInverseJacobian(const UInt &iQuadPt)
void setFluxSource(const fluxPtr_Type &fluxPtr, const sourcePtr_Type &sourcePtr)
Set the flux and the source classes for the problem.
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.
OneDFSIBC - Class featuring methods to handle boundary conditions.
OneDFSIBCHandler & operator=(const OneDFSIBCHandler &bcHandler)
OneDFSIFunctionSolverDefined bcFunctionSolverDefined_Type
std::vector< bcFunctionSolverDefinedPtr_Type > M_defaultFunctions
virtual ~OneDFSIBCHandler()
Destructor.
OneDFSIBCHandler - Class featuring methods to handle boundary conditions.
std::map< bcSide_Type, bcPtr_Type > M_boundary
double Real
Generic real data.
std::shared_ptr< bcFunctionSolverDefined_Type > bcFunctionSolverDefinedPtr_Type
OneDFSIBCHandler()
Empty Constructor.
void setSolution(const solutionPtr_Type &solutionPtr)
Set the solution of the problem.
std::map< bcSide_Type, std::map< bcLine_Type, bool > > M_boundarySet
std::shared_ptr< bc_Type > bcPtr_Type
void setDefaultBC()
Set the default boundary conditions.
const bcPtr_Type & bc(const bcSide_Type &bcSide) const
Get a specific boundary condition.
void applyViscoelasticBC(const fluxPtr_Type &fluxPtr, matrix_Type &matrix, vector_Type &rhs)
Apply boundary conditions to the rhs of the viscoelastic problem.