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,
98 bool const update_velocity,
99 bool const update_pressure);
102 print_iterations()
const = 0;
105 print_solver_info()
const final;
109 allocate_vectors()
override;
112 setup_derived()
override;
115 read_restart_vectors()
final;
118 write_restart_vectors()
const final;
121 get_vectors_serialization(std::vector<VectorType const *> & vectors_velocity,
122 std::vector<VectorType const *> & vectors_pressure)
const;
125 set_vectors_deserialization(std::vector<VectorType>
const & vectors_velocity,
126 std::vector<VectorType>
const & vectors_pressure);
129 update_after_deserialization();
132 prepare_vectors_for_next_timestep()
override;
138 unsigned int const refine_steps_time;
144 std::shared_ptr<SpatialOperatorBase<dim, Number>> operator_base;
147 bool needs_vector_convective_term;
148 std::vector<VectorType> vec_convective_term;
149 VectorType convective_term_np;
152 bool use_extrapolation;
154 bool update_velocity;
155 bool update_pressure;
158 std::shared_ptr<HelpersALE<dim, Number>
const> helpers_ale;
162 get_quantities_and_times(
163 std::vector<VectorType const *> & quantities,
164 std::vector<double> & times,
165 std::function<VectorType
const *(
unsigned int const)>
const & get_quantity)
const;
168 get_quantities_and_times_np(
169 std::vector<VectorType const *> & quantities,
170 std::vector<double> & times,
171 std::function<VectorType
const *(
unsigned int const)>
const & get_quantity,
172 std::function<VectorType
const *()>
const & get_quantity_np)
const;
175 initialize_vec_convective_term();
178 calculate_time_step_size()
final;
181 recalculate_time_step_size()
const final;
183 virtual VectorType
const &
184 get_velocity(
unsigned int i )
const = 0;
186 virtual VectorType
const &
187 get_pressure(
unsigned int i )
const = 0;
190 set_velocity(VectorType
const & velocity,
unsigned int const i ) = 0;
193 set_pressure(VectorType
const & pressure,
unsigned int const i ) = 0;
196 postprocessing()
const final;
199 std::shared_ptr<PostProcessorInterface<Number>> postprocessor;
202 VectorType grid_velocity;
203 std::vector<VectorType> vec_grid_coordinates;
204 VectorType grid_coordinates_np;
Definition postprocessor_interface.h:37