46 typedef dealii::LinearAlgebra::distributed::Vector<Number> VectorType;
49 Driver(std::string
const & input_file,
50 MPI_Comm
const & comm,
61 print_performance_results(
double const total_time)
const;
65 setup_interface_coupling();
68 set_start_time()
const;
71 synchronize_time_step_size()
const;
74 coupling_structure_to_ale(VectorType
const & displacement_structure)
const;
77 coupling_structure_to_fluid(
unsigned int const iteration)
const;
80 coupling_fluid_to_structure(
bool const end_of_time_step)
const;
83 apply_dirichlet_neumann_scheme(VectorType & d_tilde,
85 unsigned int iteration)
const;
88 MPI_Comm
const mpi_comm;
91 dealii::ConditionalOStream pcout;
97 std::shared_ptr<ApplicationBase<dim, Number>> application;
99 std::shared_ptr<SolverStructure<dim, Number>> structure;
101 std::shared_ptr<SolverFluid<dim, Number>> fluid;
104 std::shared_ptr<InterfaceCoupling<1, dim, Number>> structure_to_fluid;
105 std::shared_ptr<InterfaceCoupling<1, dim, Number>> structure_to_ale;
106 std::shared_ptr<InterfaceCoupling<1, dim, Number>> fluid_to_structure;
115 std::shared_ptr<PartitionedSolver<dim, Number>> partitioned_solver;