23 class gsNsTimeIntegrator;
25 class gsElTimeIntegrator;
32 class gsPartitionedFSI
36 gsPartitionedFSI(gsNsTimeIntegrator<T> & nsSolver,
37 gsMultiPatch<T> & velocity, gsMultiPatch<T> & pressure,
38 gsElTimeIntegrator<T> & elSolver,
39 gsMultiPatch<T> & displacement,
41 gsMultiPatch<T> & aleDisplacement, gsMultiPatch<T> & aleVelocity);
44 static gsOptionList defaultOptions();
47 gsOptionList & options() {
return m_options; }
50 bool makeTimeStep(T timeStep);
53 void formVector(
const gsMultiPatch<T> & disp, gsMatrix<T> & vector);
56 void aitken(gsMultiPatch<T> & dispA, gsMultiPatch<T> & dispB,
57 gsMultiPatch<T> & dispB2, gsMultiPatch<T> & dispC);
60 index_t numberIterations() {
return numIter; }
62 T timeNS() {
return nsTime; }
63 T timeEL() {
return elTime; }
64 T timeALE() {
return aleTime; }
66 T aitkenOmega() {
return omega;}
68 T residualNormAbs() {
return absResNorm;}
70 T residualNormRel() {
return absResNorm/initResNorm; }
74 gsNsTimeIntegrator<T> & m_nsSolver;
75 gsMultiPatch<T> & m_velocity;
76 gsMultiPatch<T> & m_pressure;
77 gsElTimeIntegrator<T> & m_elSolver;
78 gsMultiPatch<T> & m_displacement;
79 gsALE<T> & m_aleSolver;
80 gsMultiPatch<T> & m_ALEdisplacment;
81 gsMultiPatch<T> & m_ALEvelocity;
83 gsOptionList m_options;
87 T nsTime, elTime, aleTime;
89 T absResNorm, initResNorm;
95 #ifndef GISMO_BUILD_LIB
96 #include GISMO_HPP_HEADER(gsPartitionedFSI.hpp)
#define index_t
Definition: gsConfig.h:32
Provides a list of labeled parameters/options that can be set and accessed easily.