45class TimeIntBDF :
public TimeIntBDFBase
48 using Base = TimeIntBDFBase;
49 using VectorType = dealii::LinearAlgebra::distributed::Vector<Number>;
50 using BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector<Number>;
51 using BoostInputArchiveType = TimeIntBase::BoostInputArchiveType;
52 using BoostOutputArchiveType = TimeIntBase::BoostOutputArchiveType;
58 MPI_Comm
const & mpi_comm_in,
59 bool const is_test_in);
65 virtual VectorType
const &
66 get_velocity()
const = 0;
68 virtual VectorType
const &
69 get_velocity_np()
const = 0;
71 virtual VectorType
const &
72 get_pressure()
const = 0;
74 virtual VectorType
const &
75 get_pressure_np()
const = 0;
78 get_velocities_and_times(std::vector<VectorType const *> & velocities,
79 std::vector<double> & times)
const;
82 get_velocities_and_times_np(std::vector<VectorType const *> & velocities,
83 std::vector<double> & times)
const;
86 get_pressures_and_times(std::vector<VectorType const *> & pressures,
87 std::vector<double> & times)
const;
90 get_pressures_and_times_np(std::vector<VectorType const *> & pressures,
91 std::vector<double> & times)
const;
97 advance_one_timestep_partitioned_solve(
bool const use_extrapolation);
100 print_iterations()
const = 0;
103 print_solver_info()
const final;
107 allocate_vectors()
override;
110 setup_derived()
override;
113 read_restart_vectors(BoostInputArchiveType & ia)
override;
116 write_restart_vectors(BoostOutputArchiveType & oa)
const override;
119 prepare_vectors_for_next_timestep()
override;
125 unsigned int const refine_steps_time;
131 std::shared_ptr<SpatialOperatorBase<dim, Number>> operator_base;
134 bool needs_vector_convective_term;
135 std::vector<VectorType> vec_convective_term;
136 VectorType convective_term_np;
139 bool use_extrapolation;
143 std::shared_ptr<HelpersALE<dim, Number>
const> helpers_ale;
147 get_quantities_and_times(
148 std::vector<VectorType const *> & quantities,
149 std::vector<double> & times,
150 std::function<VectorType
const *(
unsigned int const)>
const & get_quantity)
const;
153 get_quantities_and_times_np(
154 std::vector<VectorType const *> & quantities,
155 std::vector<double> & times,
156 std::function<VectorType
const *(
unsigned int const)>
const & get_quantity,
157 std::function<VectorType
const *()>
const & get_quantity_np)
const;
160 initialize_vec_convective_term();
163 calculate_time_step_size()
final;
166 recalculate_time_step_size()
const final;
168 virtual VectorType
const &
169 get_velocity(
unsigned int i )
const = 0;
171 virtual VectorType
const &
172 get_pressure(
unsigned int i )
const = 0;
175 set_velocity(VectorType
const & velocity,
unsigned int const i ) = 0;
178 set_pressure(VectorType
const & pressure,
unsigned int const i ) = 0;
181 postprocessing()
const final;
184 std::shared_ptr<PostProcessorInterface<Number>> postprocessor;
187 VectorType grid_velocity;
188 std::vector<VectorType> vec_grid_coordinates;
189 VectorType grid_coordinates_np;
Definition postprocessor_interface.h:34