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

DGStrongLES_DynamicSmagorinsky class templated on the number of state variables. More...

#include <strong_dg_les.hpp>

Inheritance diagram for PHiLiP::DGStrongLES_DynamicSmagorinsky< dim, nspecies, nstate, real, MeshType >:
Collaboration diagram for PHiLiP::DGStrongLES_DynamicSmagorinsky< dim, nspecies, nstate, real, MeshType >:

Public Member Functions

 DGStrongLES_DynamicSmagorinsky (const Parameters::AllParameters *const parameters_input, const unsigned int degree, const unsigned int max_degree_input, const unsigned int grid_degree_input, const std::shared_ptr< Triangulation > triangulation_input)
 Constructor.
 
 ~DGStrongLES_DynamicSmagorinsky ()
 Destructor.
 
void allocate_model_variables () override
 Allocate the necessary variables declared in src/physics/model.h.
 
- Public Member Functions inherited from PHiLiP::DGStrongLES< dim, nspecies, nstate, real, MeshType >
 DGStrongLES (const Parameters::AllParameters *const parameters_input, const unsigned int degree, const unsigned int max_degree_input, const unsigned int grid_degree_input, const std::shared_ptr< Triangulation > triangulation_input)
 Constructor.
 
 ~DGStrongLES ()
 Destructor.
 
void update_model_variables () override
 Update the necessary variables declared in src/physics/model.h.
 
- Public Member Functions inherited from PHiLiP::DGStrong< dim, nspecies, nstate, real, MeshType >
 DGStrong (const Parameters::AllParameters *const parameters_input, const unsigned int degree, const unsigned int max_degree_input, const unsigned int grid_degree_input, const std::shared_ptr< Triangulation > triangulation_input)
 Constructor.
 
void assemble_auxiliary_residual (const bool compute_dRdW, const bool compute_dRdX, const bool compute_d2R)
 Flag for using projected entropy variables for NSFR boundary term. More...
 
void allocate_dual_vector (const bool compute_d2R)
 Allocate the dual vector for optimization.
 
template<typename adtype >
void assemble_volume_term_auxiliary_equation (const std::array< std::vector< adtype >, nstate > &soln_coeff, const unsigned int poly_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper, dealii::Tensor< 1, dim, std::vector< adtype >> &local_auxiliary_RHS)
 Evaluate the volume RHS for the auxiliary equation. More...
 
template<typename adtype >
void assemble_face_term_auxiliary_equation (const unsigned int iface, const unsigned int neighbor_iface, const dealii::types::global_dof_index current_cell_index, const dealii::types::global_dof_index neighbor_cell_index, std::vector< bool > face_orientation_int, std::vector< bool > face_orientation_ext, const std::array< std::vector< adtype >, nstate > &soln_coeff_int, const std::array< std::vector< adtype >, nstate > &soln_coeff_ext, const unsigned int poly_degree_int, const unsigned int poly_degree_ext, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_ext, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper_int, const Physics::PhysicsBase< dim, nspecies, nstate, adtype > &pde_physics, const NumericalFlux::NumericalFluxDissipative< dim, nspecies, nstate, adtype > &diss_num_flux, dealii::Tensor< 1, dim, std::vector< adtype >> &local_auxiliary_RHS_int, dealii::Tensor< 1, dim, std::vector< adtype >> &local_auxiliary_RHS_ext)
 Evaluate the facet RHS for the auxiliary equation. More...
 
template<typename adtype >
void build_volume_metric_operators (const unsigned int poly_degree, const unsigned int grid_degree, const std::vector< adtype > &metric_coeffs, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< adtype >, dim > &mapping_support_points)
 < Parallel std::cout that only outputs on mpi_rank==0 More...
 
void build_volume_metric_operators (const unsigned int poly_degree, const unsigned int grid_degree, const std::vector< double > &metric_coeffs, OPERATOR::metric_operators< double, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< double >, dim > &mapping_support_points)
 Builds volume metric operators (metric cofactor and determinant of metric Jacobian). For double type.
 
void build_volume_metric_operators (const unsigned int poly_degree, const unsigned int grid_degree, const std::vector< codi_JacobianComputationType > &metric_coeffs, OPERATOR::metric_operators< codi_JacobianComputationType, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< codi_JacobianComputationType >, dim > &mapping_support_points)
 Builds volume metric operators (metric cofactor and determinant of metric Jacobian). For codi_JacobianComputationType.
 
void build_volume_metric_operators (const unsigned int poly_degree, const unsigned int grid_degree, const std::vector< codi_HessianComputationType > &metric_coeffs, OPERATOR::metric_operators< codi_HessianComputationType, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< codi_HessianComputationType >, dim > &mapping_support_points)
 Builds volume metric operators (metric cofactor and determinant of metric Jacobian). For codi_HessianComputationType.
 
- Public Member Functions inherited from PHiLiP::DGBaseState< dim, nspecies, nstate, real, MeshType >
 DGBaseState (const Parameters::AllParameters *const parameters_input, const unsigned int degree, const unsigned int max_degree_input, const unsigned int grid_degree_input, const std::shared_ptr< Triangulation > triangulation_input)
 < Input parameters. More...
 
void set_physics (std::shared_ptr< Physics::PhysicsBase< dim, nspecies, nstate, real > > pde_physics_double_input, std::shared_ptr< Physics::PhysicsBase< dim, nspecies, nstate, FadType > > pde_physics_fad_input, std::shared_ptr< Physics::PhysicsBase< dim, nspecies, nstate, RadType > > pde_physics_rad_input, std::shared_ptr< Physics::PhysicsBase< dim, nspecies, nstate, FadFadType > > pde_physics_fad_fad_input, std::shared_ptr< Physics::PhysicsBase< dim, nspecies, nstate, RadFadType > > pde_physics_rad_fad_input)
 
void set_unsteady_model_time_step (const double time_step)
 Set the necessary unsteady variables declared in src/physics/model.h.
 
void set_use_auxiliary_eq ()
 Set use_auxiliary_eq flag.
 
void set_store_vol_flux_nodes ()
 Set store_vol_flux_nodes flag.
 
void set_store_surf_flux_nodes ()
 Set store_surf_flux_nodes flag.
 
- Public Member Functions inherited from PHiLiP::DGBase< dim, nspecies, real, MeshType >
virtual ~DGBase ()=default
 Destructor.
 
 DGBase (const int nstate_input, const Parameters::AllParameters *const parameters_input, const unsigned int degree, const unsigned int max_degree_input, const unsigned int grid_degree_input, const std::shared_ptr< Triangulation > triangulation_input)
 Principal constructor that will call delegated constructor. More...
 
void reinit ()
 Reinitializes the DG object after a change of triangulation. More...
 
 DGBase (const int nstate_input, const Parameters::AllParameters *const parameters_input, const unsigned int degree, const unsigned int max_degree_input, const unsigned int grid_degree_input, const std::shared_ptr< Triangulation > triangulation_input, const MassiveCollectionTuple collection_tuple)
 Delegated constructor that initializes collections. More...
 
void set_high_order_grid (std::shared_ptr< HighOrderGrid< dim, real, MeshType >> new_high_order_grid)
 Sets the associated high order grid with the provided one.
 
void set_all_cells_fe_degree (const unsigned int degree)
 Refers to a collection Mappings, which represents the high-order grid. More...
 
unsigned int get_max_fe_degree ()
 Gets the maximum value of currently active FE degree.
 
unsigned int get_min_fe_degree ()
 Gets the minimum value of currently active FE degree.
 
dealii::Point< dim > coordinates_of_highest_refined_cell (bool check_for_p_refined_cell=false)
 Returns the coordinates of the most refined cell.
 
virtual void allocate_system (const bool compute_dRdW=true, const bool compute_dRdX=true, const bool compute_d2R=true)
 Allocates the system. More...
 
void time_scale_solution_update (dealii::LinearAlgebra::distributed::Vector< double > &solution_update, const real CFL) const
 Scales a solution update with the appropriate maximum time step. More...
 
void time_scaled_mass_matrices (const real scale)
 
void reinit_operators_for_cell_residual_loop (const unsigned int poly_degree_int, const unsigned int poly_degree_ext, const unsigned int grid_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_ext, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_ext, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis)
 Builds needed operators for cell residual loop.
 
void reinit_operators_for_mass_matrix (const bool Cartesian_element, const unsigned int poly_degree, const unsigned int grid_degree, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, OPERATOR::basis_functions< dim, 2 *dim > &basis, OPERATOR::local_mass< dim, 2 *dim > &reference_mass_matrix, OPERATOR::local_Flux_Reconstruction_operator< dim, 2 *dim > &reference_FR, OPERATOR::local_Flux_Reconstruction_operator_aux< dim, 2 *dim > &reference_FR_aux, OPERATOR::derivative_p< dim, 2 *dim > &deriv_p)
 Builds needed operators to compute mass matrices/inverses efficiently.
 
void evaluate_mass_matrices (bool do_inverse_mass_matrix=false)
 Allocates and evaluates the mass matrices for the entire grid.
 
void evaluate_local_metric_dependent_mass_matrix_and_set_in_global_mass_matrix (const bool Cartesian_element, const bool do_inverse_mass_matrix, const unsigned int poly_degree, const unsigned int curr_grid_degree, const unsigned int n_quad_pts, const unsigned int n_dofs_cell, const std::vector< dealii::types::global_dof_index > dofs_indices, OPERATOR::metric_operators< real, dim, 2 *dim > &metric_oper, OPERATOR::basis_functions< dim, 2 *dim > &basis, OPERATOR::local_mass< dim, 2 *dim > &reference_mass_matrix, OPERATOR::local_Flux_Reconstruction_operator< dim, 2 *dim > &reference_FR, OPERATOR::local_Flux_Reconstruction_operator_aux< dim, 2 *dim > &reference_FR_aux, OPERATOR::derivative_p< dim, 2 *dim > &deriv_p)
 Evaluates the metric dependent local mass matrices and inverses, then sets them in the global matrices.
 
void apply_inverse_global_mass_matrix (const dealii::LinearAlgebra::distributed::Vector< double > &input_vector, dealii::LinearAlgebra::distributed::Vector< double > &output_vector, const bool use_auxiliary_eq=false)
 Applies the inverse of the local metric dependent mass matrices when the global is not stored. More...
 
void apply_global_mass_matrix (const dealii::LinearAlgebra::distributed::Vector< double > &input_vector, dealii::LinearAlgebra::distributed::Vector< double > &output_vector, const bool use_auxiliary_eq=false, const bool use_unmodified_mass_matrix=false)
 Applies the local metric dependent mass matrices when the global is not stored. More...
 
std::vector< real > evaluate_time_steps (const bool exact_time_stepping)
 Evaluates the maximum stable time step. More...
 
void add_mass_matrices (const real scale)
 Add mass matrices to the system scaled by a factor (likely time-step) More...
 
void add_time_scaled_mass_matrices ()
 Add time scaled mass matrices to the system. More...
 
double get_residual_l2norm () const
 Returns the L2-norm of the right_hand_side vector.
 
double get_residual_linfnorm () const
 Returns the Linf-norm of the right_hand_side vector.
 
unsigned int n_dofs () const
 Number of degrees of freedom.
 
void set_anisotropic_flags ()
 Set anisotropic flags based on jump indicator. More...
 
template<typename real2 >
real2 discontinuity_sensor (const dealii::Quadrature< dim > &volume_quadrature, const std::vector< real2 > &soln_coeff_high, const dealii::FiniteElement< dim, dim > &fe_high, const std::vector< real2 > &jac_det)
 
void set_dual (const dealii::LinearAlgebra::distributed::Vector< real > &dual_input)
 Sets the stored dual variables used to compute the dual dotted with the residual Hessians.
 
dealii::SparsityPattern get_dRdX_sparsity_pattern ()
 Evaluate SparsityPattern of dRdX.
 
dealii::SparsityPattern get_dRdW_sparsity_pattern ()
 Evaluate SparsityPattern of dRdW.
 
dealii::SparsityPattern get_d2RdWdW_sparsity_pattern ()
 Evaluate SparsityPattern of the residual Hessian dual.d2RdWdW.
 
dealii::SparsityPattern get_d2RdXdX_sparsity_pattern ()
 Evaluate SparsityPattern of the residual Hessian dual.d2RdXdX.
 
dealii::SparsityPattern get_d2RdWdX_sparsity_pattern ()
 Evaluate SparsityPattern of the residual Hessian dual.d2RdXdW.
 
dealii::SparsityPattern get_dRdXs_sparsity_pattern ()
 Evaluate SparsityPattern of dRdXs.
 
dealii::SparsityPattern get_d2RdXsdXs_sparsity_pattern ()
 Evaluate SparsityPattern of the residual Hessian dual.d2RdXsdXs.
 
dealii::SparsityPattern get_d2RdWdXs_sparsity_pattern ()
 Evaluate SparsityPattern of the residual Hessian dual.d2RdXsdW.
 
dealii::TrilinosWrappers::SparseMatrix get_dRdX_finite_differences (dealii::SparsityPattern dRdX_sparsity_pattern)
 Evaluate dRdX using finite-differences.
 
void initialize_manufactured_solution ()
 Virtual function defined in DG.
 
void output_results_vtk (const unsigned int cycle, const double current_time=0.0, const bool output_time_averaged_solution=false, const bool output_fluctuating_quantities=false)
 Output solution.
 
void output_face_results_vtk (const unsigned int cycle, const double current_time=0.0, const bool output_time_averaged_solution=false, const bool output_fluctuating_quantities=false)
 Output Euler face solution.
 
void assemble_residual (const bool compute_dRdW=false, const bool compute_dRdX=false, const bool compute_d2R=false, const double CFL_mass=0.0)
 Main loop of the DG class. More...
 
template<typename adtype >
void assemble_cell_residual_and_ad_derivatives (const dealii::TriaActiveIterator< dealii::DoFCellAccessor< dim, dim, false >> &current_cell, const dealii::TriaActiveIterator< dealii::DoFCellAccessor< dim, dim, false >> &current_metric_cell, const bool compute_dRdW, const bool compute_dRdX, const bool compute_d2R, dealii::hp::FEValues< dim, dim > &fe_values_collection_volume, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_int, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_ext, dealii::hp::FESubfaceValues< dim, dim > &fe_values_collection_subface, dealii::hp::FEValues< dim, dim > &fe_values_collection_volume_lagrange, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_ext, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_ext, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, const bool compute_auxiliary_right_hand_side, dealii::LinearAlgebra::distributed::Vector< double > &rhs, std::array< dealii::LinearAlgebra::distributed::Vector< double >, dim > &rhs_aux)
 Used in assemble_residual(). More...
 
template<typename adtype >
std::enable_if<!std::is_same< adtype, double >::value, void >::type assemble_volume_codi_taped_derivatives_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const std::vector< dealii::types::global_dof_index > &soln_dofs_indices, const std::vector< dealii::types::global_dof_index > &metric_dof_indices, const unsigned int poly_degree, const unsigned int grid_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< adtype >, dim > &mapping_support_points, dealii::hp::FEValues< dim, dim > &fe_values_collection_volume, dealii::hp::FEValues< dim, dim > &fe_values_collection_volume_lagrange, const dealii::FESystem< dim, dim > &fe_soln, std::vector< real > &local_rhs_cell, dealii::Tensor< 1, dim, std::vector< real >> &local_auxiliary_RHS, const bool compute_auxiliary_right_hand_side, const bool compute_dRdW, const bool compute_dRdX, const bool compute_d2R)
 Computes the volume term of the cell and performs automatic differentiation.
 
void assemble_volume_codi_taped_derivatives_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const std::vector< dealii::types::global_dof_index > &soln_dofs_indices, const std::vector< dealii::types::global_dof_index > &metric_dof_indices, const unsigned int poly_degree, const unsigned int grid_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::metric_operators< double, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< double >, dim > &mapping_support_points, dealii::hp::FEValues< dim, dim > &fe_values_collection_volume, dealii::hp::FEValues< dim, dim > &fe_values_collection_volume_lagrange, const dealii::FESystem< dim, dim > &fe_soln, std::vector< real > &local_rhs_cell, dealii::Tensor< 1, dim, std::vector< real >> &local_auxiliary_RHS, const bool compute_auxiliary_right_hand_side, const bool compute_dRdW, const bool compute_dRdX, const bool compute_d2R)
 Computes the volume term of the cell.
 
template<typename adtype >
std::enable_if<!std::is_same< adtype, double >::value, void >::type assemble_boundary_codi_taped_derivatives_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const unsigned int iface, const unsigned int boundary_id, const real penalty, const std::vector< dealii::types::global_dof_index > &soln_dofs_indices, const std::vector< dealii::types::global_dof_index > &metric_dof_indices, const unsigned int poly_degree, const unsigned int grid_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< adtype >, dim > &mapping_support_points, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_int, const dealii::FESystem< dim, dim > &fe_soln, std::vector< real > &local_rhs_cell, dealii::Tensor< 1, dim, std::vector< real >> &local_auxiliary_RHS, const bool compute_auxiliary_right_hand_side, const bool compute_dRdW, const bool compute_dRdX, const bool compute_d2R)
 Computes boundary term of the cell if the cell has a face at the boundary and performs automatic differentiation. More...
 
void assemble_boundary_codi_taped_derivatives_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const unsigned int iface, const unsigned int boundary_id, const real penalty, const std::vector< dealii::types::global_dof_index > &soln_dofs_indices, const std::vector< dealii::types::global_dof_index > &metric_dof_indices, const unsigned int poly_degree, const unsigned int grid_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::metric_operators< double, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< double >, dim > &mapping_support_points, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_int, const dealii::FESystem< dim, dim > &fe_soln, std::vector< real > &local_rhs_cell, dealii::Tensor< 1, dim, std::vector< real >> &local_auxiliary_RHS, const bool compute_auxiliary_right_hand_side, const bool compute_dRdW, const bool compute_dRdX, const bool compute_d2R)
 Computes boundary term of the cell if the cell has a face at the boundary.
 
template<typename adtype >
std::enable_if<!std::is_same< adtype, double >::value, void >::type assemble_face_codi_taped_derivatives_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, typename dealii::DoFHandler< dim >::active_cell_iterator neighbor_cell, const dealii::types::global_dof_index current_cell_index, const dealii::types::global_dof_index neighbor_cell_index, const unsigned int iface, const unsigned int neighbor_iface, const real penalty, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_int, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_ext, dealii::hp::FESubfaceValues< dim, dim > &fe_values_collection_subface, const dealii::FESystem< dim, dim > &fe_int, const dealii::FESystem< dim, dim > &fe_ext, const std::vector< dealii::types::global_dof_index > &soln_dofs_indices_int, const std::vector< dealii::types::global_dof_index > &soln_dofs_indices_ext, const std::vector< dealii::types::global_dof_index > &metric_dofs_indices_int, const std::vector< dealii::types::global_dof_index > &metric_dofs_indices_ext, const unsigned int poly_degree_int, const unsigned int poly_degree_ext, const unsigned int grid_degree_int, const unsigned int grid_degree_ext, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_ext, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_ext, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper_int, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper_ext, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< adtype >, dim > &mapping_support_points, std::vector< real > &local_rhs_int_cell, std::vector< real > &local_rhs_ext_cell, dealii::Tensor< 1, dim, std::vector< real >> &current_cell_rhs_aux, dealii::LinearAlgebra::distributed::Vector< double > &rhs, std::array< dealii::LinearAlgebra::distributed::Vector< double >, dim > &rhs_aux, const bool compute_auxiliary_right_hand_side, const bool compute_dRdW, const bool compute_dRdX, const bool compute_d2R, const bool is_a_subface=false, const unsigned int neighbor_i_subface=0)
 Computes face term of the cell and performs automatic differentiation.
 
void assemble_face_codi_taped_derivatives_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, typename dealii::DoFHandler< dim >::active_cell_iterator neighbor_cell, const dealii::types::global_dof_index current_cell_index, const dealii::types::global_dof_index neighbor_cell_index, const unsigned int iface, const unsigned int neighbor_iface, const real penalty, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_int, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_ext, dealii::hp::FESubfaceValues< dim, dim > &fe_values_collection_subface, const dealii::FESystem< dim, dim > &fe_int, const dealii::FESystem< dim, dim > &fe_ext, const std::vector< dealii::types::global_dof_index > &soln_dofs_indices_int, const std::vector< dealii::types::global_dof_index > &soln_dofs_indices_ext, const std::vector< dealii::types::global_dof_index > &metric_dofs_indices_int, const std::vector< dealii::types::global_dof_index > &metric_dofs_indices_ext, const unsigned int poly_degree_int, const unsigned int poly_degree_ext, const unsigned int grid_degree_int, const unsigned int grid_degree_ext, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_ext, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_ext, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::metric_operators< double, dim, 2 *dim > &metric_oper_int, OPERATOR::metric_operators< double, dim, 2 *dim > &metric_oper_ext, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< double >, dim > &mapping_support_points, std::vector< real > &local_rhs_int_cell, std::vector< real > &local_rhs_ext_cell, dealii::Tensor< 1, dim, std::vector< real >> &current_cell_rhs_aux, dealii::LinearAlgebra::distributed::Vector< double > &rhs, std::array< dealii::LinearAlgebra::distributed::Vector< double >, dim > &rhs_aux, const bool compute_auxiliary_right_hand_side, const bool compute_dRdW, const bool compute_dRdX, const bool compute_d2R, const bool is_a_subface=false, const unsigned int neighbor_i_subface=0)
 Computes face term of the cell.
 
template<typename real2 >
double getValue (const real2 &x)
 Returns the value from a CoDiPack variable. More...
 
void automatic_differentiation_indexing_1 (const bool compute_dRdW, const bool compute_dRdX, const bool compute_d2R, const unsigned int n_soln_dofs, const unsigned int n_metric_dofs, unsigned int &w_start, unsigned int &w_end, unsigned int &x_start, unsigned int &x_end)
 
void automatic_differentiation_indexing_2 (const bool compute_dRdW, const bool compute_dRdX, const bool compute_d2R, const unsigned int n_soln_dofs_int, const unsigned int n_soln_dofs_ext, const unsigned int n_metric_dofs, unsigned int &w_int_start, unsigned int &w_int_end, unsigned int &w_ext_start, unsigned int &w_ext_end, unsigned int &x_int_start, unsigned int &x_int_end, unsigned int &x_ext_start, unsigned int &x_ext_end)
 
void set_current_time (const real current_time_input)
 Sets the current time within DG to be used for unsteady source terms.
 
void allocate_auxiliary_equation ()
 Allocates the auxiliary equations' variables and right hand side (primarily for Strong form diffusive)
 
void update_artificial_dissipation_discontinuity_sensor ()
 Update discontinuity sensor. More...
 

Public Attributes

const double dynamic_smagorinsky_model_constant_clipping_limit
 Clipping limit for the Dynamic Smagorinsky model constant.
 
- Public Attributes inherited from PHiLiP::DGStrongLES< dim, nspecies, nstate, real, MeshType >
std::shared_ptr< Physics::LargeEddySimulationBase< dim, nspecies, nstate, real > > pde_model_les_double
 Contains the large eddy simulation object.
 
- Public Attributes inherited from PHiLiP::DGStrong< dim, nspecies, nstate, real, MeshType >
const bool do_compute_filtered_solution
 Flag to compute the filtered solution.
 
const bool apply_modal_high_pass_filter_on_filtered_solution
 Flag to apply modal high pass filter on the filtered solution.
 
const unsigned int poly_degree_max_large_scales
 For filtered solution; lower bound of high pass filter.
 
const bool using_wall_model
 Flag for using wall model.
 
const bool wall_model_input_from_second_element
 
const bool use_projected_entropy_variables_for_nsfr_boundary_term
 Flag for using the second element as the wall model input.
 
- Public Attributes inherited from PHiLiP::DGBaseState< dim, nspecies, nstate, real, MeshType >
std::shared_ptr< Physics::PhysicsBase< dim, nspecies, nstate, real > > pde_physics_double
 Contains the physics of the PDE with real type.
 
std::shared_ptr< Physics::ModelBase< dim, nspecies, nstate, real > > pde_model_double
 Contains the model terms of the PDEType == PhysicsModel with real type.
 
std::unique_ptr< NumericalFlux::NumericalFluxConvective< dim, nspecies, nstate, real > > conv_num_flux_double
 Convective numerical flux with real type.
 
std::unique_ptr< NumericalFlux::NumericalFluxDissipative< dim, nspecies, nstate, real > > diss_num_flux_double
 Dissipative numerical flux with real type.
 
std::shared_ptr< ArtificialDissipationBase< dim, nspecies, nstate > > artificial_dissip
 Link to Artificial dissipation class (with three dissipation types, depending on the input).
 
std::shared_ptr< Physics::PhysicsBase< dim, nspecies, nstate, FadType > > pde_physics_fad
 Contains the physics of the PDE with FadType.
 
std::shared_ptr< Physics::ModelBase< dim, nspecies, nstate, FadType > > pde_model_fad
 Contains the model terms of the PDEType == PhysicsModel with FadType.
 
std::unique_ptr< NumericalFlux::NumericalFluxConvective< dim, nspecies, nstate, FadType > > conv_num_flux_fad
 Convective numerical flux with FadType.
 
std::unique_ptr< NumericalFlux::NumericalFluxDissipative< dim, nspecies, nstate, FadType > > diss_num_flux_fad
 Dissipative numerical flux with FadType.
 
std::shared_ptr< Physics::PhysicsBase< dim, nspecies, nstate, RadType > > pde_physics_rad
 Contains the physics of the PDE with RadType.
 
std::shared_ptr< Physics::ModelBase< dim, nspecies, nstate, RadType > > pde_model_rad
 Contains the model terms of the PDEType == PhysicsModel with RadType.
 
std::unique_ptr< NumericalFlux::NumericalFluxConvective< dim, nspecies, nstate, RadType > > conv_num_flux_rad
 Convective numerical flux with RadType.
 
std::unique_ptr< NumericalFlux::NumericalFluxDissipative< dim, nspecies, nstate, RadType > > diss_num_flux_rad
 Dissipative numerical flux with RadType.
 
std::shared_ptr< Physics::PhysicsBase< dim, nspecies, nstate, FadFadType > > pde_physics_fad_fad
 Contains the physics of the PDE with FadFadType.
 
std::shared_ptr< Physics::ModelBase< dim, nspecies, nstate, FadFadType > > pde_model_fad_fad
 Contains the model terms of the PDEType == PhysicsModel with FadFadType.
 
std::unique_ptr< NumericalFlux::NumericalFluxConvective< dim, nspecies, nstate, FadFadType > > conv_num_flux_fad_fad
 Convective numerical flux with FadFadType.
 
std::unique_ptr< NumericalFlux::NumericalFluxDissipative< dim, nspecies, nstate, FadFadType > > diss_num_flux_fad_fad
 Dissipative numerical flux with FadFadType.
 
std::shared_ptr< Physics::PhysicsBase< dim, nspecies, nstate, RadFadType > > pde_physics_rad_fad
 Contains the physics of the PDE with RadFadDtype.
 
std::shared_ptr< Physics::ModelBase< dim, nspecies, nstate, RadFadType > > pde_model_rad_fad
 Contains the model terms of the PDEType == PhysicsModel with RadFadType.
 
std::unique_ptr< NumericalFlux::NumericalFluxConvective< dim, nspecies, nstate, RadFadType > > conv_num_flux_rad_fad
 Convective numerical flux with RadFadDtype.
 
std::unique_ptr< NumericalFlux::NumericalFluxDissipative< dim, nspecies, nstate, RadFadType > > diss_num_flux_rad_fad
 Dissipative numerical flux with RadFadDtype.
 
- Public Attributes inherited from PHiLiP::DGBase< dim, nspecies, real, MeshType >
const Parameters::AllParameters *const all_parameters
 Pointer to all parameters.
 
const int nstate
 Number of state variables. More...
 
const unsigned int initial_degree
 Initial polynomial degree assigned during constructor.
 
const unsigned int max_degree
 Maximum degree used for p-refi1nement. More...
 
const unsigned int max_grid_degree
 Maximum grid degree used for hp-refi1nement. More...
 
std::shared_ptr< Triangulation > triangulation
 Mesh.
 
dealii::SparsityPattern sparsity_pattern
 Sparsity pattern used on the system_matrix. More...
 
dealii::SparsityPattern mass_sparsity_pattern
 Sparsity pattern used on the system_matrix. More...
 
dealii::TrilinosWrappers::SparseMatrix time_scaled_global_mass_matrix
 Global mass matrix divided by the time scales. More...
 
dealii::TrilinosWrappers::SparseMatrix global_mass_matrix
 Global mass matrix. More...
 
dealii::TrilinosWrappers::SparseMatrix global_inverse_mass_matrix
 Global inverser mass matrix. More...
 
dealii::TrilinosWrappers::SparseMatrix global_mass_matrix_auxiliary
 Global auxiliary mass matrix. More...
 
dealii::TrilinosWrappers::SparseMatrix global_inverse_mass_matrix_auxiliary
 Global inverse of the auxiliary mass matrix.
 
dealii::TrilinosWrappers::SparseMatrix system_matrix
 
dealii::TrilinosWrappers::SparseMatrix system_matrix_transpose
 
std::unique_ptr< Epetra_RowMatrixTransposer > epetra_rowmatrixtransposer_dRdW
 Epetra_RowMatrixTransposer used to transpose the system_matrix.
 
dealii::TrilinosWrappers::SparseMatrix dRdXv
 
dealii::TrilinosWrappers::SparseMatrix d2RdWdW
 
dealii::TrilinosWrappers::SparseMatrix d2RdXdX
 
dealii::TrilinosWrappers::SparseMatrix d2RdWdX
 
dealii::LinearAlgebra::distributed::Vector< double > right_hand_side
 Residual of the current solution. More...
 
dealii::IndexSet locally_owned_dofs
 Locally own degrees of freedom.
 
dealii::IndexSet ghost_dofs
 Locally relevant ghost degrees of freedom.
 
dealii::IndexSet locally_relevant_dofs
 Union of locally owned degrees of freedom and relevant ghost degrees of freedom.
 
dealii::IndexSet locally_owned_dofs_grid
 Locally own degrees of freedom for the grid.
 
dealii::IndexSet ghost_dofs_grid
 Locally relevant ghost degrees of freedom for the grid.
 
dealii::IndexSet locally_relevant_dofs_grid
 
dealii::LinearAlgebra::distributed::Vector< double > solution
 Current modal coefficients of the solution. More...
 
dealii::LinearAlgebra::distributed::Vector< double > time_averaged_solution
 
dealii::LinearAlgebra::distributed::Vector< double > fluctuating_quantities
 
std::array< dealii::LinearAlgebra::distributed::Vector< double >, dim > auxiliary_right_hand_side
 The auxiliary equations' right hand sides.
 
std::array< dealii::LinearAlgebra::distributed::Vector< double >, dim > auxiliary_solution
 The auxiliary equations' solution.
 
dealii::Vector< double > cell_volume
 Time it takes for the maximum wavespeed to cross the cell domain. More...
 
dealii::Vector< double > max_dt_cell
 Time it takes for the maximum wavespeed to cross the cell domain. More...
 
dealii::Vector< double > reduced_mesh_weights
 
dealii::Vector< double > artificial_dissipation_coeffs
 Artificial dissipation in each cell.
 
dealii::Vector< double > artificial_dissipation_se
 Artificial dissipation error ratio sensor in each cell.
 
dealii::LinearAlgebra::distributed::Vector< real > dual
 Current optimization dual variables corresponding to the residual constraints also known as the adjoint. More...
 
bool update_artificial_diss
 
const dealii::hp::FECollection< dim > fe_collection
 Finite Element Collection for p-finite-element to represent the solution. More...
 
dealii::hp::QCollection< dim > volume_quadrature_collection
 Finite Element Collection to represent the high-order grid. More...
 
dealii::hp::QCollection< dim-1 > face_quadrature_collection
 Quadrature used to evaluate face integrals.
 
const dealii::hp::FECollection< dim > fe_collection_lagrange
 Lagrange basis used in strong form. More...
 
const dealii::hp::FECollection< 1 > oneD_fe_collection
 1D Finite Element Collection for p-finite-element to represent the solution More...
 
const dealii::hp::FECollection< 1 > oneD_fe_collection_1state
 1D Finite Element Collection for p-finite-element to represent the solution for a single state. More...
 
const dealii::hp::FECollection< 1 > oneD_fe_collection_flux
 1D collocated flux basis used in strong form More...
 
dealii::hp::QCollection< 1 > oneD_quadrature_collection
 1D quadrature to generate Lagrange polynomials for the sake of flux interpolation.
 
dealii::QGauss< 0 > oneD_face_quadrature
 1D surface quadrature is always one single point for all poly degrees.
 
dealii::DoFHandler< dim > dof_handler
 Finite Element Collection to represent the high-order grid. More...
 
std::shared_ptr< HighOrderGrid< dim, real, MeshType > > high_order_grid
 High order grid that will provide the MappingFEField.
 
double assemble_residual_time
 Computational time for assembling residual.
 
bool freeze_artificial_dissipation
 Flag to freeze artificial dissipation.
 
double max_artificial_dissipation_coeff
 Stores maximum artificial dissipation while assembling the residual.
 
bool use_auxiliary_eq
 Flag for using the auxiliary equation.
 
bool store_vol_flux_nodes
 Flag for storing volume flux nodes.
 
bool store_surf_flux_nodes
 Flag for storing surface flux nodes.
 

Protected Types

using Triangulation = typename DGStrongLES< dim, nspecies, nstate, real, MeshType >::Triangulation
 Alias to base class Triangulation.
 
- Protected Types inherited from PHiLiP::DGStrongLES< dim, nspecies, nstate, real, MeshType >
using Triangulation = typename DGStrong< dim, nspecies, nstate, real, MeshType >::Triangulation
 Alias to base class Triangulation.
 
- Protected Types inherited from PHiLiP::DGStrong< dim, nspecies, nstate, real, MeshType >
using Triangulation = typename DGBaseState< dim, nspecies, nstate, real, MeshType >::Triangulation
 Alias to base class Triangulation.
 
- Protected Types inherited from PHiLiP::DGBaseState< dim, nspecies, nstate, real, MeshType >
using Triangulation = typename DGBase< dim, nspecies, real, MeshType >::Triangulation
 Alias to base class Triangulation.
 

Protected Member Functions

void update_cellwise_mean_quantities () override
 Update the cellwise mean quantities.
 
- Protected Member Functions inherited from PHiLiP::DGStrongLES< dim, nspecies, nstate, real, MeshType >
void update_cellwise_volume_and_poly_degree ()
 Update the cellwise volume and polynomial degree.
 
- Protected Member Functions inherited from PHiLiP::DGStrong< dim, nspecies, nstate, real, MeshType >
template<typename adtype >
void assemble_volume_term_and_build_operators_ad_templated (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const std::vector< adtype > &soln_coeffs, const dealii::Tensor< 1, dim, std::vector< adtype >> &aux_soln_coeffs, const std::vector< adtype > &metric_coeffs, const std::vector< real > &local_dual, const std::vector< dealii::types::global_dof_index > &soln_dofs_indices, const std::vector< dealii::types::global_dof_index > &metric_dofs_indices, const unsigned int poly_degree, const unsigned int grid_degree, Physics::PhysicsBase< dim, nspecies, nstate, adtype > &physics, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< adtype >, dim > &mapping_support_points, dealii::hp::FEValues< dim, dim > &, dealii::hp::FEValues< dim, dim > &, const dealii::FESystem< dim, dim > &, std::vector< adtype > &rhs, dealii::Tensor< 1, dim, std::vector< adtype >> &local_auxiliary_RHS, const bool compute_auxiliary_right_hand_side, adtype &dual_dot_residual)
 Builds the necessary operators and assembles volume residual for either primary or auxiliary.
 
void assemble_volume_term_and_build_operators_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const std::vector< double > &soln_coeffs, const dealii::Tensor< 1, dim, std::vector< double >> &aux_soln_coeffs, const std::vector< double > &metric_coeffs, const std::vector< real > &local_dual, const std::vector< dealii::types::global_dof_index > &soln_dofs_indices, const std::vector< dealii::types::global_dof_index > &metric_dofs_indices, const unsigned int poly_degree, const unsigned int grid_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::metric_operators< double, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< double >, dim > &mapping_support_points, dealii::hp::FEValues< dim, dim > &fe_values_collection_volume, dealii::hp::FEValues< dim, dim > &fe_values_collection_volume_lagrange, const dealii::FESystem< dim, dim > &fe_soln, std::vector< double > &rhs, dealii::Tensor< 1, dim, std::vector< double >> &local_auxiliary_RHS, const bool compute_auxiliary_right_hand_side, double &dual_dot_residual) override
 Calls the function to assemble volume residual. For double type.
 
void assemble_volume_term_and_build_operators_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const std::vector< codi_JacobianComputationType > &soln_coeffs, const dealii::Tensor< 1, dim, std::vector< codi_JacobianComputationType >> &aux_soln_coeffs, const std::vector< codi_JacobianComputationType > &metric_coeffs, const std::vector< real > &local_dual, const std::vector< dealii::types::global_dof_index > &soln_dofs_indices, const std::vector< dealii::types::global_dof_index > &metric_dofs_indices, const unsigned int poly_degree, const unsigned int grid_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::metric_operators< codi_JacobianComputationType, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< codi_JacobianComputationType >, dim > &mapping_support_points, dealii::hp::FEValues< dim, dim > &fe_values_collection_volume, dealii::hp::FEValues< dim, dim > &fe_values_collection_volume_lagrange, const dealii::FESystem< dim, dim > &fe_soln, std::vector< codi_JacobianComputationType > &rhs, dealii::Tensor< 1, dim, std::vector< codi_JacobianComputationType >> &local_auxiliary_RHS, const bool compute_auxiliary_right_hand_side, codi_JacobianComputationType &dual_dot_residual) override
 Calls the function to assemble volume residual. For codi_JacobianComputationType.
 
void assemble_volume_term_and_build_operators_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const std::vector< codi_HessianComputationType > &soln_coeffs, const dealii::Tensor< 1, dim, std::vector< codi_HessianComputationType >> &aux_soln_coeffs, const std::vector< codi_HessianComputationType > &metric_coeffs, const std::vector< real > &local_dual, const std::vector< dealii::types::global_dof_index > &soln_dofs_indices, const std::vector< dealii::types::global_dof_index > &metric_dofs_indices, const unsigned int poly_degree, const unsigned int grid_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::metric_operators< codi_HessianComputationType, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< codi_HessianComputationType >, dim > &mapping_support_points, dealii::hp::FEValues< dim, dim > &fe_values_collection_volume, dealii::hp::FEValues< dim, dim > &fe_values_collection_volume_lagrange, const dealii::FESystem< dim, dim > &fe_soln, std::vector< codi_HessianComputationType > &rhs, dealii::Tensor< 1, dim, std::vector< codi_HessianComputationType >> &local_auxiliary_RHS, const bool compute_auxiliary_right_hand_side, codi_HessianComputationType &dual_dot_residual) override
 Calls the function to assemble volume residual. For codi_HessianComputationType.
 
template<typename adtype >
void assemble_boundary_term_and_build_operators_ad_templated (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const std::vector< adtype > &soln_coeffs, const dealii::Tensor< 1, dim, std::vector< adtype >> &aux_soln_coeffs, const std::vector< adtype > &metric_coeffs, const std::vector< real > &local_dual, const unsigned int face_number, const unsigned int boundary_id, Physics::PhysicsBase< dim, nspecies, nstate, adtype > &physics, const NumericalFlux::NumericalFluxConvective< dim, nspecies, nstate, adtype > &conv_num_flux, const NumericalFlux::NumericalFluxDissipative< dim, nspecies, nstate, adtype > &diss_num_flux, const unsigned int poly_degree, const unsigned int grid_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< adtype >, dim > &mapping_support_points, dealii::hp::FEFaceValues< dim, dim > &, const dealii::FESystem< dim, dim > &, const real penalty, std::vector< adtype > &rhs, dealii::Tensor< 1, dim, std::vector< adtype >> &local_auxiliary_RHS, const bool compute_auxiliary_right_hand_side, adtype &dual_dot_residual)
 Builds the necessary operators and assembles boundary residual for either primary or auxiliary.
 
void assemble_boundary_term_and_build_operators_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const std::vector< double > &soln_coeffs, const dealii::Tensor< 1, dim, std::vector< double >> &aux_soln_coeffs, const std::vector< double > &metric_coeffs, const std::vector< real > &local_dual, const unsigned int face_number, const unsigned int boundary_id, const unsigned int poly_degree, const unsigned int grid_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::metric_operators< double, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< double >, dim > &mapping_support_points, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_int, const dealii::FESystem< dim, dim > &fe_soln, const real penalty, std::vector< double > &rhs, dealii::Tensor< 1, dim, std::vector< double >> &local_auxiliary_RHS, const bool compute_auxiliary_right_hand_side, double &dual_dot_residual) override
 Calls the function to assemble boundary residual. For double type.
 
void assemble_boundary_term_and_build_operators_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const std::vector< codi_JacobianComputationType > &soln_coeffs, const dealii::Tensor< 1, dim, std::vector< codi_JacobianComputationType >> &aux_soln_coeffs, const std::vector< codi_JacobianComputationType > &metric_coeffs, const std::vector< real > &local_dual, const unsigned int face_number, const unsigned int boundary_id, const unsigned int poly_degree, const unsigned int grid_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::metric_operators< codi_JacobianComputationType, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< codi_JacobianComputationType >, dim > &mapping_support_points, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_int, const dealii::FESystem< dim, dim > &fe_soln, const real penalty, std::vector< codi_JacobianComputationType > &rhs, dealii::Tensor< 1, dim, std::vector< codi_JacobianComputationType >> &local_auxiliary_RHS, const bool compute_auxiliary_right_hand_side, codi_JacobianComputationType &dual_dot_residual) override
 Calls the function to assemble boundary residual. For codi_JacobianComputationType.
 
void assemble_boundary_term_and_build_operators_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const std::vector< codi_HessianComputationType > &soln_coeffs, const dealii::Tensor< 1, dim, std::vector< codi_HessianComputationType >> &aux_soln_coeffs, const std::vector< codi_HessianComputationType > &metric_coeffs, const std::vector< real > &local_dual, const unsigned int face_number, const unsigned int boundary_id, const unsigned int poly_degree, const unsigned int grid_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::metric_operators< codi_HessianComputationType, dim, 2 *dim > &metric_oper, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< codi_HessianComputationType >, dim > &mapping_support_points, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_int, const dealii::FESystem< dim, dim > &fe_soln, const real penalty, std::vector< codi_HessianComputationType > &rhs, dealii::Tensor< 1, dim, std::vector< codi_HessianComputationType >> &local_auxiliary_RHS, const bool compute_auxiliary_right_hand_side, codi_HessianComputationType &dual_dot_residual) override
 Calls the function to assemble boundary residual. For codi_HessianComputationType.
 
template<typename adtype >
void assemble_face_term_and_build_operators_ad_templated (typename dealii::DoFHandler< dim >::active_cell_iterator cell, typename dealii::DoFHandler< dim >::active_cell_iterator neighbor_cell, const dealii::types::global_dof_index current_cell_index, const dealii::types::global_dof_index neighbor_cell_index, const unsigned int iface, const unsigned int neighbor_iface, const std::vector< adtype > &soln_coeffs_int, const std::vector< adtype > &soln_coeffs_ext, const dealii::Tensor< 1, dim, std::vector< adtype >> &aux_soln_coeffs_int, const dealii::Tensor< 1, dim, std::vector< adtype >> &aux_soln_coeffs_ext, const std::vector< adtype > &metric_coeff_int, const std::vector< adtype > &metric_coeff_ext, const std::vector< double > &dual_int, const std::vector< double > &dual_ext, const unsigned int poly_degree_int, const unsigned int poly_degree_ext, const unsigned int grid_degree_int, const unsigned int grid_degree_ext, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_ext, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_ext, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper_int, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper_ext, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< adtype >, dim > &mapping_support_points, Physics::PhysicsBase< dim, nspecies, nstate, adtype > &physics, const NumericalFlux::NumericalFluxConvective< dim, nspecies, nstate, adtype > &conv_num_flux, const NumericalFlux::NumericalFluxDissipative< dim, nspecies, nstate, adtype > &diss_num_flux, dealii::hp::FEFaceValues< dim, dim > &, dealii::hp::FEFaceValues< dim, dim > &, dealii::hp::FESubfaceValues< dim, dim > &, const dealii::FESystem< dim, dim > &, const dealii::FESystem< dim, dim > &, const real penalty, std::vector< adtype > &rhs_int, std::vector< adtype > &rhs_ext, dealii::Tensor< 1, dim, std::vector< adtype >> &aux_rhs_int, dealii::Tensor< 1, dim, std::vector< adtype >> &aux_rhs_ext, const bool compute_auxiliary_right_hand_side, adtype &dual_dot_residual, const bool, const unsigned int)
 Calls the function to assemble face residual.
 
void assemble_face_term_and_build_operators_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, typename dealii::DoFHandler< dim >::active_cell_iterator neighbor_cell, const dealii::types::global_dof_index current_cell_index, const dealii::types::global_dof_index neighbor_cell_index, const unsigned int iface, const unsigned int neighbor_iface, const std::vector< double > &soln_coeff_int, const std::vector< double > &soln_coeff_ext, const dealii::Tensor< 1, dim, std::vector< double >> &aux_soln_coeff_int, const dealii::Tensor< 1, dim, std::vector< double >> &aux_soln_coeff_ext, const std::vector< double > &metric_coeff_int, const std::vector< double > &metric_coeff_ext, const std::vector< double > &dual_int, const std::vector< double > &dual_ext, const unsigned int poly_degree_int, const unsigned int poly_degree_ext, const unsigned int grid_degree_int, const unsigned int grid_degree_ext, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_ext, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_ext, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::metric_operators< double, dim, 2 *dim > &metric_oper_int, OPERATOR::metric_operators< double, dim, 2 *dim > &metric_oper_ext, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< double >, dim > &mapping_support_points, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_int, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_ext, dealii::hp::FESubfaceValues< dim, dim > &fe_values_collection_subface, const dealii::FESystem< dim, dim > &fe_int, const dealii::FESystem< dim, dim > &fe_ext, const real penalty, std::vector< double > &rhs_int, std::vector< double > &rhs_ext, dealii::Tensor< 1, dim, std::vector< double >> &aux_rhs_int, dealii::Tensor< 1, dim, std::vector< double >> &aux_rhs_ext, const bool compute_auxiliary_right_hand_side, double &dual_dot_residual, const bool, const bool, const bool, const bool is_a_subface, const unsigned int neighbor_i_subface) override
 Calls the function to assemble face residual. For double type.
 
void assemble_face_term_and_build_operators_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, typename dealii::DoFHandler< dim >::active_cell_iterator neighbor_cell, const dealii::types::global_dof_index current_cell_index, const dealii::types::global_dof_index neighbor_cell_index, const unsigned int iface, const unsigned int neighbor_iface, const std::vector< codi_JacobianComputationType > &soln_coeff_int, const std::vector< codi_JacobianComputationType > &soln_coeff_ext, const dealii::Tensor< 1, dim, std::vector< codi_JacobianComputationType >> &aux_soln_coeff_int, const dealii::Tensor< 1, dim, std::vector< codi_JacobianComputationType >> &aux_soln_coeff_ext, const std::vector< codi_JacobianComputationType > &metric_coeff_int, const std::vector< codi_JacobianComputationType > &metric_coeff_ext, const std::vector< double > &dual_int, const std::vector< double > &dual_ext, const unsigned int poly_degree_int, const unsigned int poly_degree_ext, const unsigned int grid_degree_int, const unsigned int grid_degree_ext, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_ext, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_ext, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::metric_operators< codi_JacobianComputationType, dim, 2 *dim > &metric_oper_int, OPERATOR::metric_operators< codi_JacobianComputationType, dim, 2 *dim > &metric_oper_ext, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< codi_JacobianComputationType >, dim > &mapping_support_points, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_int, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_ext, dealii::hp::FESubfaceValues< dim, dim > &fe_values_collection_subface, const dealii::FESystem< dim, dim > &fe_int, const dealii::FESystem< dim, dim > &fe_ext, const real penalty, std::vector< codi_JacobianComputationType > &rhs_int, std::vector< codi_JacobianComputationType > &rhs_ext, dealii::Tensor< 1, dim, std::vector< codi_JacobianComputationType >> &aux_rhs_int, dealii::Tensor< 1, dim, std::vector< codi_JacobianComputationType >> &aux_rhs_ext, const bool compute_auxiliary_right_hand_side, codi_JacobianComputationType &dual_dot_residual, const bool, const bool, const bool, const bool is_a_subface, const unsigned int neighbor_i_subface) override
 Calls the function to assemble face residual. For codi_JacobianComputationType.
 
void assemble_face_term_and_build_operators_ad (typename dealii::DoFHandler< dim >::active_cell_iterator cell, typename dealii::DoFHandler< dim >::active_cell_iterator neighbor_cell, const dealii::types::global_dof_index current_cell_index, const dealii::types::global_dof_index neighbor_cell_index, const unsigned int iface, const unsigned int neighbor_iface, const std::vector< codi_HessianComputationType > &soln_coeff_int, const std::vector< codi_HessianComputationType > &soln_coeff_ext, const dealii::Tensor< 1, dim, std::vector< codi_HessianComputationType >> &aux_soln_coeff_int, const dealii::Tensor< 1, dim, std::vector< codi_HessianComputationType >> &aux_soln_coeff_ext, const std::vector< codi_HessianComputationType > &metric_coeff_int, const std::vector< codi_HessianComputationType > &metric_coeff_ext, const std::vector< double > &dual_int, const std::vector< double > &dual_ext, const unsigned int poly_degree_int, const unsigned int poly_degree_ext, const unsigned int grid_degree_int, const unsigned int grid_degree_ext, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_ext, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_ext, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::metric_operators< codi_HessianComputationType, dim, 2 *dim > &metric_oper_int, OPERATOR::metric_operators< codi_HessianComputationType, dim, 2 *dim > &metric_oper_ext, OPERATOR::mapping_shape_functions< dim, 2 *dim > &mapping_basis, std::array< std::vector< codi_HessianComputationType >, dim > &mapping_support_points, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_int, dealii::hp::FEFaceValues< dim, dim > &fe_values_collection_face_ext, dealii::hp::FESubfaceValues< dim, dim > &fe_values_collection_subface, const dealii::FESystem< dim, dim > &fe_int, const dealii::FESystem< dim, dim > &fe_ext, const real penalty, std::vector< codi_HessianComputationType > &rhs_int, std::vector< codi_HessianComputationType > &rhs_ext, dealii::Tensor< 1, dim, std::vector< codi_HessianComputationType >> &aux_rhs_int, dealii::Tensor< 1, dim, std::vector< codi_HessianComputationType >> &aux_rhs_ext, const bool compute_auxiliary_right_hand_side, codi_HessianComputationType &dual_dot_residual, const bool, const bool, const bool, const bool is_a_subface, const unsigned int neighbor_i_subface) override
 Calls the function to assemble face residual. For codi_HessianComputationType.
 
template<typename adtype >
void assemble_boundary_term_auxiliary_equation (const unsigned int iface, const dealii::types::global_dof_index current_cell_index, std::vector< bool > face_orientation, const std::array< std::vector< adtype >, nstate > &soln_coeff, const unsigned int poly_degree, const unsigned int boundary_id, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper, const Physics::PhysicsBase< dim, nspecies, nstate, adtype > &pde_physics, const NumericalFlux::NumericalFluxDissipative< dim, nspecies, nstate, adtype > &diss_num_flux, dealii::Tensor< 1, dim, std::vector< adtype >> &local_auxiliary_RHS)
 Evaluate the boundary RHS for the auxiliary equation.
 
template<typename adtype >
void assemble_volume_term_strong (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const std::array< std::vector< adtype >, nstate > &soln_coeff, const std::array< dealii::Tensor< 1, dim, std::vector< adtype >>, nstate > &aux_soln_coeff, const unsigned int poly_degree, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::local_basis_stiffness< dim, 2 *dim > &flux_basis_stiffness, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper, Physics::PhysicsBase< dim, nspecies, nstate, adtype > &pde_physics, std::vector< adtype > &local_rhs_int_cell)
 Strong form primary equation's volume right-hand-side. More...
 
template<typename adtype >
void assemble_boundary_term_strong (typename dealii::DoFHandler< dim >::active_cell_iterator current_cell, const unsigned int iface, const dealii::types::global_dof_index current_cell_index, std::vector< bool > face_orientation, const std::array< std::vector< adtype >, nstate > &soln_coeff, const std::array< dealii::Tensor< 1, dim, std::vector< adtype >>, nstate > &aux_soln_coeff, const unsigned int boundary_id, const unsigned int poly_degree, const real penalty, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper, Physics::PhysicsBase< dim, nspecies, nstate, adtype > &pde_physics, const NumericalFlux::NumericalFluxConvective< dim, nspecies, nstate, adtype > &conv_num_flux, const NumericalFlux::NumericalFluxDissipative< dim, nspecies, nstate, adtype > &diss_num_flux, std::vector< adtype > &local_rhs_cell)
 Strong form primary equation's boundary right-hand-side.
 
template<typename adtype >
void assemble_face_term_strong (const unsigned int iface, const unsigned int neighbor_iface, const dealii::types::global_dof_index current_cell_index, const dealii::types::global_dof_index neighbor_cell_index, std::vector< bool > face_orientation_int, std::vector< bool > face_orientation_ext, const std::array< std::vector< adtype >, nstate > &soln_coeff_int, const std::array< std::vector< adtype >, nstate > &soln_coeff_ext, const std::array< dealii::Tensor< 1, dim, std::vector< adtype >>, nstate > &aux_soln_coeff_int, const std::array< dealii::Tensor< 1, dim, std::vector< adtype >>, nstate > &aux_soln_coeff_ext, const unsigned int poly_degree_int, const unsigned int poly_degree_ext, const real penalty, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &soln_basis_ext, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_int, OPERATOR::basis_functions< dim, 2 *dim > &flux_basis_ext, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_int, OPERATOR::vol_projection_operator< dim, 2 *dim > &soln_basis_projection_oper_ext, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper_int, OPERATOR::metric_operators< adtype, dim, 2 *dim > &metric_oper_ext, Physics::PhysicsBase< dim, nspecies, nstate, adtype > &pde_physics, const NumericalFlux::NumericalFluxConvective< dim, nspecies, nstate, adtype > &conv_num_flux, const NumericalFlux::NumericalFluxDissipative< dim, nspecies, nstate, adtype > &diss_num_flux, std::vector< adtype > &local_rhs_int_cell, std::vector< adtype > &local_rhs_ext_cell)
 Strong form primary equation's facet right-hand-side. More...
 
void assemble_volume_term_explicit (typename dealii::DoFHandler< dim >::active_cell_iterator cell, const dealii::types::global_dof_index current_cell_index, const dealii::FEValues< dim, dim > &fe_values_volume, const std::vector< dealii::types::global_dof_index > &current_dofs_indices, const std::vector< dealii::types::global_dof_index > &metric_dof_indices, const unsigned int poly_degree, const unsigned int grid_degree, dealii::Vector< real > &current_cell_rhs, const dealii::FEValues< dim, dim > &fe_values_lagrange)
 Evaluate the integral over the cell volume.
 
- Protected Member Functions inherited from PHiLiP::DGBaseState< dim, nspecies, nstate, real, MeshType >
real evaluate_CFL (std::vector< std::array< real, nstate > > soln_at_q, const real artificial_dissipation, const real cell_diameter, const unsigned int cell_degree)
 Evaluate the time it takes for the maximum wavespeed to cross the cell domain. More...
 
void reset_numerical_fluxes ()
 Reinitializes the numerical fluxes based on the current physics. More...
 

Additional Inherited Members

- Public Types inherited from PHiLiP::DGBase< dim, nspecies, real, MeshType >
using Triangulation = MeshType
 
using MassiveCollectionTuple = std::tuple< dealii::hp::FECollection< dim >, dealii::hp::QCollection< dim >, dealii::hp::QCollection< dim-1 >, dealii::hp::FECollection< dim >, dealii::hp::FECollection< 1 >, dealii::hp::FECollection< 1 >, dealii::hp::FECollection< 1 >, dealii::hp::QCollection< 1 > >
 Makes for cleaner doxygen documentation.
 
- Protected Attributes inherited from PHiLiP::DGBase< dim, nspecies, real, MeshType >
real current_time
 The current time set in set_current_time()
 
const dealii::FE_Q< dim > fe_q_artificial_dissipation
 Continuous distribution of artificial dissipation.
 
dealii::DoFHandler< dim > dof_handler_artificial_dissipation
 Degrees of freedom handler for C0 artificial dissipation.
 
dealii::LinearAlgebra::distributed::Vector< double > artificial_dissipation_c0
 Artificial dissipation coefficients.
 
const dealii::UpdateFlags volume_update_flags
 Update flags needed at volume points. More...
 
const dealii::UpdateFlags face_update_flags
 Update flags needed at face points. More...
 
const dealii::UpdateFlags neighbor_face_update_flags = dealii::update_values | dealii::update_gradients | dealii::update_quadrature_points | dealii::update_JxW_values
 Update flags needed at neighbor' face points. More...
 
MPI_Comm mpi_communicator
 MPI communicator.
 
dealii::ConditionalOStream pcout
 Parallel std::cout that only outputs on mpi_rank==0.
 

Detailed Description

template<int dim, int nspecies, int nstate, typename real, typename MeshType = dealii::parallel::distributed::Triangulation<dim>>
class PHiLiP::DGStrongLES_DynamicSmagorinsky< dim, nspecies, nstate, real, MeshType >

DGStrongLES_DynamicSmagorinsky class templated on the number of state variables.

Definition at line 101 of file strong_dg_les.hpp.


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