[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
PHiLiP::FlowSolver::FlowSolver< dim, nstate > Class Template Reference

Selects which flow case to simulate. More...

#include <flow_solver.h>

Inheritance diagram for PHiLiP::FlowSolver::FlowSolver< dim, nstate >:
Collaboration diagram for PHiLiP::FlowSolver::FlowSolver< dim, nstate >:

Public Member Functions

 FlowSolver (const Parameters::AllParameters *const parameters_input, std::shared_ptr< FlowSolverCaseBase< dim, nstate >> flow_solver_case_input, const dealii::ParameterHandler &parameter_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)
 
- Public Member Functions inherited from PHiLiP::FlowSolver::FlowSolverBase
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.
 

Detailed Description

template<int dim, int nstate>
class PHiLiP::FlowSolver::FlowSolver< dim, nstate >

Selects which flow case to simulate.

Definition at line 64 of file flow_solver.h.

Member Function Documentation

◆ get_data_table_column_names()

template<int dim, int nstate>
std::vector< std::string > PHiLiP::FlowSolver::FlowSolver< dim, nstate >::get_data_table_column_names ( const std::string  string_input) const
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.

◆ perform_steady_state_mesh_adaptation()

template<int dim, int nstate>
void PHiLiP::FlowSolver::FlowSolver< dim, nstate >::perform_steady_state_mesh_adaptation ( ) const
private

Performs mesh adaptation.

Currently implemented for steady state flows.

Definition at line 384 of file flow_solver.cpp.

Member Data Documentation

◆ n_mpi

template<int dim, int nstate>
const int PHiLiP::FlowSolver::FlowSolver< dim, nstate >::n_mpi
protected

Number of MPI processes.

Definition at line 93 of file flow_solver.h.

◆ pcout

template<int dim, int nstate>
dealii::ConditionalOStream PHiLiP::FlowSolver::FlowSolver< dim, nstate >::pcout
protected

ConditionalOStream.

Used as std::cout, but only prints if mpi_rank == 0

Definition at line 97 of file flow_solver.h.


The documentation for this class was generated from the following files: