include/meltpooldg/compressible_flow/utils.hpp File Reference

Developer Documentation: include/meltpooldg/compressible_flow/utils.hpp File Reference
Developer Documentation
utils.hpp File Reference
#include <deal.II/base/aligned_vector.h>
#include <deal.II/base/quadrature.h>
#include <deal.II/base/tensor.h>
#include <deal.II/base/vectorization.h>
#include <deal.II/grid/reference_cell.h>
#include <deal.II/grid/tria_accessor.h>
#include <deal.II/grid/tria_iterator.h>
#include <deal.II/lac/affine_constraints.h>
#include <deal.II/lac/la_parallel_vector.h>
#include <meltpooldg/compressible_flow/data_types.hpp>
#include <meltpooldg/core/scratch_data.hpp>
#include <meltpooldg/utilities/better_enum.hpp>
#include <meltpooldg/utilities/matrix_free_util.hpp>
Include dependency graph for utils.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  MeltPoolDG::CompressibleFlow::ExternalFlowForce< dim, number, n_species >
 An abstract interface for defining external forces acting on the fluid that must be evaluated and incorporated during the cell loop of an explicit time integration scheme. More...
 
struct  MeltPoolDG::CompressibleFlow::ExternalFlowForceJacobian< dim, number, n_species >
 

Namespaces

namespace  MeltPoolDG
 Interface for a general preconditioner.
 
namespace  MeltPoolDG::CompressibleFlow
 This file contains various functions that can be used to set and evaluate boundary conditions for the compressible flow solver. The functions can be directly used with the BoundaryConditions class, which provides an interface to manage and evaluate the different boundary conditions in the solver.
 

Functions

 MeltPoolDG::CompressibleFlow::BETTER_ENUM (Idx1D, char, density, momentum_x, energy)
 Index sets for the components of the compressible Navier-Stokes equations.
 
 MeltPoolDG::CompressibleFlow::BETTER_ENUM (Idx2D, char, density, momentum_x, momentum_y, energy)
 
 MeltPoolDG::CompressibleFlow::BETTER_ENUM (Idx3D, char, density, momentum_x, momentum_y, momentum_z, energy)
 
template<int dim, typename number >
DEAL_II_ALWAYS_INLINE dealii::Tensor< 1, dim, dealii::VectorizedArray< number > > MeltPoolDG::CompressibleFlow::calculate_velocity (const ConservedVariablesType< dim, number > &conserved_variables)
 Calculate the velocity from the conserved variables by computing u = (ρu)/ρ.
 
template<int dim, typename number >
DEAL_II_ALWAYS_INLINE dealii::Tensor< 2, dim, dealii::VectorizedArray< number > > MeltPoolDG::CompressibleFlow::calculate_grad_velocity (const ConservedVariablesType< dim, number > &conserved_variables, const ConservedVariablesGradientType< dim, number > &grad_conserved_variables)
 Calculate the velocity gradient.
 
template<int dim, typename Number >
void MeltPoolDG::CompressibleFlow::calculate_penalty_parameter (dealii::AlignedVector< dealii::VectorizedArray< Number > > &array_penalty_parameter, const dealii::MatrixFree< dim, Number > &matrix_free, const std::string &domain_representation_type, const unsigned int dof_index=0, const Number scaling_factor=1.0)
 This function computes the local values of the internal penalty parameter used in the viscous numerical flux.
 
template<int dim, typename number >
void MeltPoolDG::CompressibleFlow::update_primitive_variables_solution (dealii::LinearAlgebra::distributed::Vector< number > &solution_primitive_variables, const dealii::LinearAlgebra::distributed::Vector< number > &solution, const ScratchData< dim, dim, number > &scratch_data, const unsigned int dof_idx, const unsigned int quad_idx, const Material< dim, number > *material_liquid, const Material< dim, number > *material_gas=nullptr)
 Update the primitive variable solution according to the current solution vector.
 
template<typename DofViewType , typename VectorizedArrayType >
DEAL_II_ALWAYS_INLINE VectorizedArrayType MeltPoolDG::CompressibleFlow::maximum_local_wave_speed (const DofViewType &u_m, const DofViewType &u_p)