|
[P]arallel [Hi]gh-order [Li]brary for [P]DEs
Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
|
RealGas equations. Derived from PhysicsBase. More...
#include <real_gas.h>
Public Types | |
| using | two_point_num_flux_enum = Parameters::AllParameters::TwoPointNumericalFlux |
Public Types inherited from PHiLiP::Physics::PhysicsBase< dim, nspecies, nstate, real > | |
| using | NonPhysicalBehaviorEnum = Parameters::AllParameters::NonPhysicalBehaviorEnum |
Public Member Functions | |
| RealGas (const Parameters::AllParameters *const parameters_input, std::shared_ptr< ManufacturedSolutionFunction< dim, nspecies, real > > manufactured_solution_function=nullptr, const bool has_nonzero_diffusion=false, const bool has_nonzero_physical_source=false) | |
| Constructor. | |
| ~RealGas () | |
| Destructor. | |
| void | readspeciesdata (std::string reactionFilename) |
| Reads in data from chemistry file. | |
| std::array< int, nspecies > | GetNASACAP_TemperatureIndex (const real temperature) const |
| Determine the. | |
| std::array< real, nstate > | compute_entropy_variables (const std::array< real, nstate > &conservative_soln) const |
| Computes the entropy variables. | |
| std::array< real, nstate > | compute_conservative_variables_from_entropy_variables (const std::array< real, nstate > &entropy_var) const |
| Computes the conservative variables from the entropy variables. | |
| virtual std::array< real, nstate > | compute_kinetic_energy_variables (const std::array< real, nstate > &conservative_soln) const |
| Computes the kinetic energy variables. | |
| std::array< real, nstate > | convective_eigenvalues (const std::array< real, nstate > &, const dealii::Tensor< 1, dim, real > &) const |
| Spectral radius of convective term Jacobian is 'c'. | |
| real | max_convective_eigenvalue (const std::array< real, nstate > &soln) const |
| Maximum convective eigenvalue. | |
| real | max_convective_normal_eigenvalue (const std::array< real, nstate > &soln, const dealii::Tensor< 1, dim, real > &normal) const override |
| Maximum convective normal eigenvalue (used in Lax-Friedrichs) More... | |
| real | max_viscous_eigenvalue (const std::array< real, nstate > &soln) const |
| Maximum viscous eigenvalue. | |
| std::array< dealii::Tensor< 1, dim, real >, nstate > | dissipative_flux (const std::array< real, nstate > &conservative_soln, const std::array< dealii::Tensor< 1, dim, real >, nstate > &solution_gradient, const dealii::types::global_dof_index cell_index) const |
| Dissipative flux: 0. | |
| std::array< real, nstate > | source_term (const dealii::Point< dim, real > &pos, const std::array< real, nstate > &conservative_soln, const real current_time, const dealii::types::global_dof_index cell_index) const |
| Source term is zero or depends on manufactured solution. | |
| virtual std::array< real, nstate > | convert_primitive_to_conservative (const std::array< real, nstate > &primitive_soln) const |
| Convert primitive solution to conservative solution. | |
| virtual std::array< real, nstate > | convert_conservative_to_primitive (const std::array< real, nstate > &conservative_soln) const |
| Convert conservative variables to primitive variables. | |
| std::array< dealii::Tensor< 1, dim, real >, nstate > | convert_conservative_gradient_to_primitive_gradient (const std::array< real, nstate > &conservative_soln, const std::array< dealii::Tensor< 1, dim, real >, nstate > &conservative_soln_gradient) const |
| std::array< dealii::Tensor< 1, dim, real >, nstate > | convert_primitive_gradient_to_conservative_gradient (const std::array< real, nstate > &primitive_soln, const std::array< dealii::Tensor< 1, dim, real >, nstate > &primitive_soln_gradient) const |
| std::array< real, nspecies > | compute_species_densities (const std::array< real, nstate > &conservative_soln) const |
| std::array< real, nspecies > | compute_mass_fractions (const std::array< real, nstate > &conservative_soln) const |
| std::array< real, nspecies > | compute_Rs (const real Ru) const |
| real | compute_entropy (const std::array< real, nstate > &conservative_soln) const |
| Compute entropy from conservative solution. | |
| virtual real | compute_temperature (const std::array< real, nstate > &conservative_soln) const |
| virtual real | compute_mixture_pressure (const std::array< real, nstate > &conservative_soln) const |
| virtual real | compute_pressure (const std::array< real, nstate > &conservative_soln) const |
| Compute pressure from conservative solution. | |
| real | compute_pressure_from_density_temperature (const real density, const real temperature, const std::array< real, nstate > &conservative_soln) const |
| Given density and temperature, returns NON-DIMENSIONALIZED pressure using free-stream non-dimensionalization. | |
| real | compute_mixture_specific_total_enthalpy (const std::array< real, nstate > &conservative_soln) const |
| std::array< dealii::Tensor< 1, dim, real >, nstate > | convective_flux (const std::array< real, nstate > &conservative_soln) const |
| Convective fluxes that will be differentiated once in space. | |
| dealii::Tensor< 2, nstate, real > | convective_flux_directional_jacobian (const std::array< real, nstate > &conservative_soln, const dealii::Tensor< 1, dim, real > &normal) const |
| Convective flux Jacobian: \( \frac{\partial \mathbf{F}_{conv}}{\partial w} \cdot \mathbf{n} \). | |
| std::array< dealii::Tensor< 1, dim, real >, nstate > | convective_numerical_split_flux (const std::array< real, nstate > &conservative_soln1, const std::array< real, nstate > &conservative_soln2) const override |
| Evaluates convective flux based on the chosen split form. | |
| std::array< dealii::Tensor< 1, dim, real >, nstate > | convective_numerical_split_flux_kennedy_gruber (const std::array< real, nstate > &conservative_soln1, const std::array< real, nstate > &conservative_soln2) const |
| real | compute_sound (const std::array< real, nstate > &conservative_soln) const |
| Evaluate speed of sound from conservative variables. | |
Public Member Functions inherited from PHiLiP::Physics::PhysicsBase< dim, nspecies, nstate, real > | |
| PhysicsBase (const Parameters::AllParameters *const parameters_input, const bool has_nonzero_diffusion_input, const bool has_nonzero_physical_source_input, const dealii::Tensor< 2, 3, double > input_diffusion_tensor=Parameters::ManufacturedSolutionParam::get_default_diffusion_tensor(), std::shared_ptr< ManufacturedSolutionFunction< dim, nspecies, real > > manufactured_solution_function_input=nullptr) | |
| Default constructor that will set the constants. | |
| PhysicsBase (const Parameters::AllParameters *const parameters_input, const bool has_nonzero_diffusion_input, const bool has_nonzero_physical_source_input, std::shared_ptr< ManufacturedSolutionFunction< dim, nspecies, real > > manufactured_solution_function_input=nullptr) | |
| Constructor that will call default constructor. | |
| virtual | ~PhysicsBase ()=default |
| Virtual destructor required for abstract classes. | |
| virtual std::array< real, nstate > | dissipative_flux_dot_normal (const std::array< real, nstate > &solution, const std::array< dealii::Tensor< 1, dim, real >, nstate > &solution_gradient, const std::array< real, nstate > &filtered_solution, const std::array< dealii::Tensor< 1, dim, real >, nstate > &filtered_solution_gradient, const bool on_boundary, const dealii::types::global_dof_index cell_index, const dealii::Tensor< 1, dim, real > &normal, const int boundary_type) |
| Dissipative fluxes dot normal vector. | |
| virtual std::array< dealii::Tensor< 1, dim, real >, nstate > | dissipative_flux (const std::array< real, nstate > &solution, const std::array< dealii::Tensor< 1, dim, real >, nstate > &solution_gradient, const std::array< real, nstate > &filtered_solution, const std::array< dealii::Tensor< 1, dim, real >, nstate > &filtered_solution_gradient, const dealii::types::global_dof_index cell_index) |
| Dissipative fluxes that will be differentiated ONCE in space. | |
| virtual std::array< real, nstate > | physical_source_term (const dealii::Point< dim, real > &pos, const std::array< real, nstate > &solution, const std::array< dealii::Tensor< 1, dim, real >, nstate > &solution_gradient, const dealii::types::global_dof_index cell_index) const |
| Physical source term that does require differentiation. | |
| virtual std::array< real, nstate > | artificial_source_term (const real viscosity_coefficient, const dealii::Point< dim, real > &pos, const std::array< real, nstate > &solution) const |
| Artificial source term that does not require differentiation stemming from artificial dissipation. | |
| virtual void | boundary_face_values (const int, const dealii::Point< dim, real > &, const dealii::Tensor< 1, dim, real > &, const std::array< real, nstate > &, const std::array< dealii::Tensor< 1, dim, real >, nstate > &, const std::array< real, nstate > &, const std::array< dealii::Tensor< 1, dim, real >, nstate > &, std::array< real, nstate > &, std::array< dealii::Tensor< 1, dim, real >, nstate > &) const |
| Evaluates boundary values and gradients on the other side of the face for the convective flux. | |
| virtual void | boundary_face_values_viscous_flux (const int, const dealii::Point< dim, real > &, const dealii::Tensor< 1, dim, real > &, const std::array< real, nstate > &, const std::array< dealii::Tensor< 1, dim, real >, nstate > &, const std::array< real, nstate > &, const std::array< dealii::Tensor< 1, dim, real >, nstate > &, std::array< real, nstate > &, std::array< dealii::Tensor< 1, dim, real >, nstate > &) const |
| Evaluates boundary values and gradients on the other side of the face for the viscous flux. | |
| virtual dealii::Vector< double > | post_compute_derived_quantities_scalar (const double &uh, const dealii::Tensor< 1, dim > &, const dealii::Tensor< 2, dim > &, const dealii::Tensor< 1, dim > &, const dealii::Point< dim > &) const |
| Returns current scalar solution to be used by PhysicsPostprocessor to output current solution. More... | |
| template<typename real2 > | |
| real2 | handle_non_physical_result (const std::string message="") const |
| Function to handle nonphysical results. More... | |
Public Attributes | |
| const double | gam_ref |
| reference gamma | |
| const double | mach_ref |
| reference mach number (Farfield Mach number) | |
| const double | mach_ref_sqr |
| reference mach number (Farfield Mach number squared) | |
| const two_point_num_flux_enum | two_point_num_flux_type |
| Two point numerical flux type (for split form) | |
| const double | Ru |
| universal gas constant: [J/(mol·K)] | |
| const double | MW_Air |
| molar weight of Air: [kg/mol] | |
| const double | R_ref |
| reference gas constant: [J/(kg·K)] | |
| const double | temperature_ref |
| reference temperature [K] | |
| const double | u_ref |
| reference velocity [m/s] | |
| const double | u_ref_sqr |
| reference velocity squared[m/s]^2 | |
| const double | tol |
| tolerance for NRM (Newton-raphson Method) [m/s] | |
| const double | density_ref |
| reference mixture density: [kg/m^3] | |
Public Attributes inherited from PHiLiP::Physics::PhysicsBase< dim, nspecies, nstate, real > | |
| const bool | has_nonzero_diffusion |
| Flag to signal that diffusion term is non-zero. | |
| const bool | has_nonzero_physical_source |
| Flag to signal that physical source term is non-zero. | |
| const Parameters::AllParameters *const | all_parameters |
| Pointer to parameters object. | |
| const NonPhysicalBehaviorEnum | non_physical_behavior_type |
| Determines type of nonphysical behavior. | |
| std::shared_ptr< ManufacturedSolutionFunction< dim, nspecies, real > > | manufactured_solution_function |
| Manufactured solution function. | |
| const double | BIG_NUMBER = 1e100 |
| BIG_NUMBER which is returned in place of NaN according to handle_non_physical_result() More... | |
Protected Member Functions | |
| void | boundary_slip_wall (const dealii::Tensor< 1, dim, real > &normal_int, const std::array< real, nstate > &soln_int, const std::array< dealii::Tensor< 1, dim, real >, nstate > &soln_grad_int, std::array< real, nstate > &soln_bc, std::array< dealii::Tensor< 1, dim, real >, nstate > &soln_grad_bc) const |
| virtual void | boundary_wall (const dealii::Tensor< 1, dim, real > &normal_int, const std::array< real, nstate > &soln_int, const std::array< dealii::Tensor< 1, dim, real >, nstate > &soln_grad_int, std::array< real, nstate > &soln_bc, std::array< dealii::Tensor< 1, dim, real >, nstate > &soln_grad_bc) const |
| Wall boundary condition. | |
| void | boundary_face_values (const int, const dealii::Point< dim, real > &, const dealii::Tensor< 1, dim, real > &, const std::array< real, nstate > &, const std::array< dealii::Tensor< 1, dim, real >, nstate > &, std::array< real, nstate > &, std::array< dealii::Tensor< 1, dim, real >, nstate > &) const |
| Boundary condition handler. | |
| std::array< real, dim+2 > | get_mixture_solution_vector (const std::array< real, nstate > &full_soln) const |
| returns the solution vector without the species conservation states (only mixture) | |
| std::array< dealii::Tensor< 1, dim, real >, dim+2 > | get_mixture_solution_gradient (const std::array< dealii::Tensor< 1, dim, real >, nstate > &conservative_soln_gradient) const |
| returns the solution gradient vector without the species conservation states (only mixture) | |
| template<typename real2 > | |
| real2 | compute_mixture_density (const std::array< real2, nstate > &conservative_soln) const |
| dealii::Tensor< 1, dim, real > | compute_velocities (const std::array< real, nstate > &conservative_soln) const |
| real | compute_velocity_squared_from_conservative_solution (const std::array< real, nstate > &conservative_soln) const |
| real | compute_velocity_squared (const dealii::Tensor< 1, dim, real > &velocities) const |
| dealii::Tensor< 1, dim, real > | extract_velocities_from_primitive (const std::array< real, nstate > &primitive_soln) const |
| Given primitive variables, returns velocities. | |
| real | compute_specific_kinetic_energy (const std::array< real, nstate > &conservative_soln) const |
| real | compute_mixture_specific_total_energy (const std::array< real, nstate > &conservative_soln) const |
| real | compute_mixture_from_species (const std::array< real, nspecies > &mass_fractions, const std::array< real, nspecies > &species) const |
| real | compute_dimensional_temperature (const real temperature) const |
| std::array< real, nspecies > | compute_species_specific_Cp (const real temperature) const |
| std::array< real, nspecies > | compute_species_specific_Cv (const real temperature) const |
| std::array< real, nspecies > | compute_species_specific_enthalpy (const real temperature) const |
| std::array< real, nspecies > | compute_species_specific_internal_energy (const real temperature) const |
| std::array< real, nspecies > | compute_species_entropy_cv_integral (const real temperature) const |
| std::array< real, nspecies > | compute_species_entropy (const std::array< real, nstate > &conservative_soln) const |
| std::array< real, nspecies > | compute_species_gibbs_energy (const std::array< real, nstate > &conservative_soln) const |
| real | compute_mixture_gas_constant (const std::array< real, nstate > &conservative_soln) const |
| virtual std::array< real, nspecies > | compute_species_specific_heat_ratio (const std::array< real, nstate > &conservative_soln) const |
| virtual real | compute_gamma (const std::array< real, nstate > &conservative_soln) const |
| Compute gamma from conservative solution. | |
| std::array< real, nspecies > | compute_species_speed_of_sound (const std::array< real, nstate > &conservative_soln) const |
| virtual dealii::Vector< double > | post_compute_derived_quantities_vector (const dealii::Vector< double > &uh, const std::vector< dealii::Tensor< 1, dim > > &duh, const std::vector< dealii::Tensor< 2, dim > > &dduh, const dealii::Tensor< 1, dim > &normals, const dealii::Point< dim > &evaluation_points) const |
| For post processing purposes (update comment later) | |
| virtual std::vector< std::string > | post_get_names () const |
| For post processing purposes, sets the base names (with no prefix or suffix) of the computed quantities. | |
| virtual std::vector< dealii::DataComponentInterpretation::DataComponentInterpretation > | post_get_data_component_interpretation () const |
| For post processing purposes, sets the interpretation of each computed quantity as either scalar or vector. | |
| virtual dealii::UpdateFlags | post_get_needed_update_flags () const |
| For post processing purposes (update comment later) | |
Protected Attributes | |
| std::array< std::array< std::array< double, 3 >, 9 >, nspecies > | NASACAPCoeffs |
| Variables to store NASA Coefficients. | |
| std::array< std::array< double, 4 >, nspecies > | NASACAPTemperatureLimits |
| std::array< std::string, nspecies > | species_name |
| std::array< double, nspecies > | species_weight |
| std::array< double, nspecies > | species_enthalpy_offset |
| std::array< real, nspecies > | Rs |
Protected Attributes inherited from PHiLiP::Physics::PhysicsBase< dim, nspecies, nstate, real > | |
| dealii::ConditionalOStream | pcout |
| ConditionalOStream. More... | |
| dealii::Tensor< 2, dim, double > | diffusion_tensor |
| Anisotropic diffusion matrix. More... | |
RealGas equations. Derived from PhysicsBase.
Definition at line 18 of file real_gas.h.
|
protected |
Slip wall boundary conditions (No penetration)
Definition at line 264 of file real_gas.cpp.
|
protected |
species loop
Definition at line 629 of file real_gas.cpp.
|
protected |
species loop
Definition at line 552 of file real_gas.cpp.
|
inlinevirtual |
| std::array< dealii::Tensor< 1, dim, real >, nstate > PHiLiP::Physics::RealGas< dim, nspecies, nstate, real >::convective_numerical_split_flux_kennedy_gruber | ( | const std::array< real, nstate > & | conservative_soln1, |
| const std::array< real, nstate > & | conservative_soln2 | ||
| ) | const |
Entropy conserving split form flux of Kennedy and Gruber. Refer to Gassner's paper (2016) Eq. 3.10
Definition at line 1106 of file real_gas.cpp.
|
virtual |
Obtain gradient of primitive variables from gradient of conservative variables
Implements PHiLiP::Physics::PhysicsBase< dim, nspecies, nstate, real >.
Definition at line 1267 of file real_gas.cpp.
|
virtual |
Obtain gradient of conservative variables from gradient of primitive variables
Implements PHiLiP::Physics::PhysicsBase< dim, nspecies, nstate, real >.
Definition at line 1255 of file real_gas.cpp.
|
overridevirtual |
Maximum convective normal eigenvalue (used in Lax-Friedrichs)
See the book I do like CFD, equation 3.6.18
Reimplemented from PHiLiP::Physics::PhysicsBase< dim, nspecies, nstate, real >.
Definition at line 195 of file real_gas.cpp.