LifeV
|
OneDFSIBC - Class featuring methods to handle boundary conditions. More...
#include <OneDFSIBC.hpp>
Private Attributes | |
std::map< bcLine_Type, bcType_Type > | M_bcType |
bcSide_Type | M_bcSide |
std::map< bcLine_Type, bcFunction_Type > | M_bcFunction |
Constructors & Destructor | |
OneDFSIBC (const bcSide_Type &bcSide) | |
Constructor. More... | |
OneDFSIBC (const OneDFSIBC &bc) | |
Copy constructor. More... | |
virtual | ~OneDFSIBC () |
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 | setType (const bcLine_Type &bcLine, const bcType_Type &bcType) |
Set the type of boundary condition. More... | |
void | setBCFunction (const bcLine_Type &bcLine, const bcFunction_Type &rhs) |
Set the boundary condition function. More... | |
Get Methods | |
const bcType_Type & | type (const bcLine_Type &bcLine) const |
Get the type of boundary condition. More... | |
const bcFunction_Type & | bcFunction (const bcLine_Type &bcLine) const |
Get the boundary condition function. More... | |
Unimplemented Methods | |
OneDFSIBC & | operator= (const OneDFSIBC &bc) |
Private Methods | |
void | computeMatrixAndRHS (const Real &time, const Real &timeStep, const fluxPtr_Type &fluxPtr, const bcLine_Type &bcLine, const container2D_Type &leftEigenvector1, const container2D_Type &leftEigenvector2, const UInt &dof, std::map< bcLine_Type, container2D_Type > &bcMatrix, Real &bcRHS) |
Compute the matrix and the RHS for the BC 2x2 linear system. More... | |
container2D_Type | solveLinearSystem (const container2D_Type &line1, const container2D_Type &line2, const container2D_Type &rhs) const |
Solve a 2x2 linear system by the Cramer method (for the boundary conditions) More... | |
OneDFSIBC - Class featuring methods to handle boundary conditions.
We need to impose 2 boundary condition on each side of the 1D segment. These class stores the boundary conditions on one side.
Definition at line 64 of file OneDFSIBC.hpp.
Definition at line 71 of file OneDFSIBC.hpp.
typedef std::shared_ptr< bcFunctionSolverDefined_Type > bcFunctionSolverDefinedPtr_Type |
Definition at line 72 of file OneDFSIBC.hpp.
Definition at line 74 of file OneDFSIBC.hpp.
Definition at line 75 of file OneDFSIBC.hpp.
Definition at line 77 of file OneDFSIBC.hpp.
Definition at line 78 of file OneDFSIBC.hpp.
Definition at line 79 of file OneDFSIBC.hpp.
Definition at line 80 of file OneDFSIBC.hpp.
Definition at line 82 of file OneDFSIBC.hpp.
Definition at line 83 of file OneDFSIBC.hpp.
Definition at line 85 of file OneDFSIBC.hpp.
Definition at line 86 of file OneDFSIBC.hpp.
Definition at line 88 of file OneDFSIBC.hpp.
Definition at line 89 of file OneDFSIBC.hpp.
Definition at line 90 of file OneDFSIBC.hpp.
|
explicit |
Constructor.
Definition at line 52 of file OneDFSIBC.cpp.
Copy constructor.
bc | OneDFSIBC |
Definition at line 59 of file OneDFSIBC.cpp.
|
inlinevirtual |
Destructor.
Definition at line 108 of file OneDFSIBC.hpp.
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.
time | the current time. |
timeStep | the time step. |
solution | the solution container. |
fluxPtr | pointer to the flux class. |
rhs | the rhs of the Taylor-Galerking problem. |
Definition at line 69 of file OneDFSIBC.cpp.
void applyViscoelasticBC | ( | const fluxPtr_Type & | fluxPtr, |
matrix_Type & | matrix, | ||
vector_Type & | rhs | ||
) |
Apply boundary conditions to the rhs of the viscoelastic problem.
fluxPtr | pointer to the flux class. |
matrix | the matrix of the viscoelastic problem. |
rhs | the rhs of the viscoelastic problem. |
Definition at line 113 of file OneDFSIBC.cpp.
|
inline |
Set the type of boundary condition.
bcLine | the line of the boundary condition (first or second). |
bcType | the type of the boundary condition ( , , , , , ). |
Definition at line 146 of file OneDFSIBC.hpp.
|
inline |
Set the boundary condition function.
bcLine | the line of the boundary condition (first or second). |
bcFunction | the boundary condition function. |
Definition at line 156 of file OneDFSIBC.hpp.
|
inline |
Get the type of boundary condition.
bcLine | the line of the boundary condition (first or second). |
Definition at line 172 of file OneDFSIBC.hpp.
|
inline |
Get the boundary condition function.
bcLine | the line of the boundary condition (first or second). |
Definition at line 182 of file OneDFSIBC.hpp.
|
private |
Compute the matrix and the RHS for the BC 2x2 linear system.
time | the current time. |
timeStep | the time step. |
fluxPtr | pointer to the flux class. |
bcLine | the line of the boundary condition (first or second). |
leftEigenvector1 | first line of the left eigenvector matrix. |
leftEigenvector2 | second line of the left eigenvector matrix. |
dof | degree of freedom of the boundary condition. |
bcMatrix | the 2x2 matrix problem for the boundary condition computation. |
bcRHS | the rhs of the 2x2 problem for the boundary condition computation. |
Definition at line 149 of file OneDFSIBC.cpp.
|
private |
Solve a 2x2 linear system by the Cramer method (for the boundary conditions)
Matrix A is given by two pairs corresponding to the 2 lines.
line1 | first line of the 2x2 matrix. |
line2 | second line of the 2x2 matrix. |
rhs | rhs of the 2x2 system. |
Definition at line 204 of file OneDFSIBC.cpp.
|
private |
Definition at line 231 of file OneDFSIBC.hpp.
|
private |
Definition at line 233 of file OneDFSIBC.hpp.
|
private |
Definition at line 235 of file OneDFSIBC.hpp.