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 apply_dirichlet_neumann_scheme(VectorType & d_tilde,
81 unsigned int iteration)
const;
84 MPI_Comm
const mpi_comm;
87 dealii::ConditionalOStream pcout;
93 std::shared_ptr<ApplicationBase<dim, Number>> application;
95 std::shared_ptr<SolverStructure<dim, Number>> structure;
97 std::shared_ptr<SolverFluid<dim, Number>> fluid;
100 std::shared_ptr<InterfaceCoupling<1, dim, Number>> structure_to_fluid;
101 std::shared_ptr<InterfaceCoupling<1, dim, Number>> structure_to_ale;
102 std::shared_ptr<InterfaceCoupling<1, dim, Number>> fluid_to_structure;
111 std::shared_ptr<PartitionedSolver<dim, Number>> partitioned_solver;