9 class FSIInterfaceForm;
10 class NavierStokesFSIAveragePressureForm;
11 class NavierStokesFSIForm;
16 class NonlinearElasticTransientVarForm;
23 std::string
name()
const override {
return "NavierStokesFSI"; }
24 void init(
const std::string &formulation,
const Units &
units,
const json &
args,
const std::string &out_path)
override;
27 const Eigen::MatrixXd &solution,
31 void reset()
override;
62 void save_fsi_timestep(
double time,
int step,
const Eigen::MatrixXd &solution)
const;
73 std::vector<std::pair<mesh::Navigation::Index, mesh::Navigation::Index>>
interface_2d_;
74 std::vector<std::pair<mesh::Navigation3D::Index, mesh::Navigation3D::Index>>
interface_3d_;
96 std::vector<std::shared_ptr<solver::AugmentedLagrangianForm>>
fsi_al_forms_;
98 std::shared_ptr<solver::NavierStokesFSIForm>
ale_form_;
Caches basis evaluation and geometric mapping at every element.
Abstract mesh class to capture 2d/3d conforming and non-conforming meshes.
Eigen::SparseMatrix< double, Eigen::ColMajor > StiffnessMatrix