[P]arallel [Hi]gh-order [Li]brary for [P]DEs
Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
|
Selects which flow case to simulate. More...
#include <flow_solver.h>
Public Member Functions | |
FlowSolver (const Parameters::AllParameters *const parameters_input, std::shared_ptr< FlowSolverCaseBase< dim, nstate >> flow_solver_case_input, const dealii::ParameterHandler ¶meter_handler_input) | |
Constructor. | |
int | run () const override |
Simply runs the flow solver and returns 0 upon completion. | |
void | initialize_data_table_from_file (std::string data_table_filename_with_extension, const std::shared_ptr< dealii::TableHandler > data_table) const |
Initializes the data table from an existing file. | |
std::string | get_restart_filename_without_extension (const unsigned int restart_index_input) const |
Returns the restart filename without extension given a restart index (adds padding appropriately) | |
![]() | |
virtual | ~FlowSolverBase ()=default |
Destructor. | |
Public Attributes | |
std::shared_ptr< FlowSolverCaseBase< dim, nstate > > | flow_solver_case |
Pointer to Flow Solver Case. | |
const dealii::ParameterHandler & | parameter_handler |
Parameter handler for storing the .prm file being ran. | |
std::shared_ptr< DGBase< dim, double > > | dg |
Pointer to dg so it can be accessed externally. | |
std::shared_ptr< ODE::ODESolverBase< dim, double > > | ode_solver |
Pointer to ode solver so it can be accessed externally. | |
std::shared_ptr< ProperOrthogonalDecomposition::OnlinePOD< dim > > | time_pod |
Protected Attributes | |
const MPI_Comm | mpi_communicator |
MPI communicator. | |
const int | mpi_rank |
MPI rank. | |
const int | n_mpi |
dealii::ConditionalOStream | pcout |
ConditionalOStream. More... | |
const Parameters::AllParameters | all_param |
All parameters. | |
const Parameters::FlowSolverParam | flow_solver_param |
Flow solver parameters. | |
const Parameters::ODESolverParam | ode_param |
ODE solver parameters. | |
const unsigned int | poly_degree |
Polynomial order. | |
const unsigned int | grid_degree |
Polynomial order of the grid. | |
const double | final_time |
Final time of solution. | |
const std::string | input_parameters_file_reference_copy_filename |
Name of the reference copy of inputted parameters file; for restart purposes. | |
const bool | do_output_solution_at_fixed_times |
Flag for outputting solution at fixed times. | |
const unsigned int | number_of_fixed_times_to_output_solution |
Number of fixed times to output the solution. | |
const bool | output_solution_at_exact_fixed_times |
Flag for outputting the solution at exact fixed times by decreasing the time step on the fly. | |
Private Member Functions | |
std::vector< std::string > | get_data_table_column_names (const std::string string_input) const |
void | write_restart_parameter_file (const unsigned int restart_index_input, const double constant_time_step_input) const |
Writes a parameter file (.prm) for restarting the computation with. | |
std::string | double_to_string (const double value_input) const |
Converts a double to a string with scientific format and with full precision. | |
void | perform_steady_state_mesh_adaptation () const |
Performs mesh adaptation. More... | |
Private Attributes | |
dealii::Table< 1, double > | output_solution_fixed_times |
Fixed times at which to output the solution. | |
Selects which flow case to simulate.
Definition at line 64 of file flow_solver.h.
|
private |
Returns the column names of a dealii::TableHandler object given the first line of the file
Definition at line 141 of file flow_solver.cpp.
|
private |
Performs mesh adaptation.
Currently implemented for steady state flows.
Definition at line 384 of file flow_solver.cpp.
|
protected |
Number of MPI processes.
Definition at line 93 of file flow_solver.h.
|
protected |
ConditionalOStream.
Used as std::cout, but only prints if mpi_rank == 0
Definition at line 97 of file flow_solver.h.