42 typedef dealii::LinearAlgebra::distributed::Vector<Number> VectorType;
45 Driver(std::string
const & input_file,
46 MPI_Comm
const & comm,
57 print_performance_results(
double const total_time)
const;
61 setup_interface_coupling();
64 set_start_time()
const;
67 synchronize_time_step_size()
const;
70 coupling_structure_to_ale(VectorType
const & displacement_structure)
const;
73 coupling_structure_to_fluid(
unsigned int const iteration)
const;
76 coupling_fluid_to_structure(
bool const end_of_time_step)
const;
79 solve_subproblem_ale(VectorType
const & displacement_structure)
const;
82 solve_subproblem_fluid(
unsigned int const iteration,
83 bool const update_velocity,
84 bool const update_pressure)
const;
87 solve_subproblem_structure(
unsigned int const iteration)
const;
90 apply_dirichlet_neumann_scheme(VectorType & displacement_structure_updated,
91 VectorType
const & displacement_structure,
92 unsigned int iteration)
const;
95 MPI_Comm
const mpi_comm;
98 dealii::ConditionalOStream pcout;
104 std::shared_ptr<ApplicationBase<dim, Number>> application;
106 std::shared_ptr<SolverStructure<dim, Number>> structure;
108 std::shared_ptr<SolverFluid<dim, Number>> fluid;
111 std::shared_ptr<InterfaceCoupling<1, dim, Number>> structure_to_fluid;
112 std::shared_ptr<InterfaceCoupling<1, dim, Number>> structure_to_ale;
113 std::shared_ptr<InterfaceCoupling<1, dim, Number>> fluid_to_structure;
122 std::shared_ptr<PartitionedSolver<dim, Number>> partitioned_solver;