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/material.hpp"
#include <meltpooldg/compressible_flow/data_types.hpp>
#include <meltpooldg/compressible_flow/state_views.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 >
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 , typename ConservedVariablesType >
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 MaterialPhaseData< number > *material_liquid, const MaterialPhaseData< number > *material_gas=nullptr)
 Update the primitive variable solution according to the current solution vector.
 
template<int dim, Flow::EOSIsConservativeValueView ConservativeValueView, Flow::EOSIsWritablePrimitiveValueView WritablePrimitiveValueView>
DEAL_II_ALWAYS_INLINE void MeltPoolDG::CompressibleFlow::conservative_to_primitive (const ConservativeValueView &conservative, WritablePrimitiveValueView &primitive)
 Convert a state from conservative (density, momentum, total energy) to primitive (pressure, velocity, temperature) variables.
 
template<int dim, Flow::EOSIsWritableConservativeValueView WritableConservativeValueView, Flow::EOSIsPrimitiveValueView PrimitiveValueView>
DEAL_II_ALWAYS_INLINE void MeltPoolDG::CompressibleFlow::primitive_to_conservative (const PrimitiveValueView &primitive, WritableConservativeValueView &conservative)
 Convert a state from primitive (pressure, velocity, temperature) to conservative (density, momentum, total energy) variables.
 
template<typename DofViewType , typename VectorizedArrayType >
DEAL_II_ALWAYS_INLINE VectorizedArrayType MeltPoolDG::CompressibleFlow::maximum_local_wave_speed (const DofViewType &u_m, const DofViewType &u_p)
 Calculate the maximum local wave speed between two states on a face.
 
template<typename number , int n_species, typename PrimitiveVariablesView >
std::bitset< dealii::VectorizedArray< number >::size()> MeltPoolDG::CompressibleFlow::physical_admissibility_mask (const PrimitiveVariablesView &w_view, const unsigned int n_active_lanes=dealii::VectorizedArray< number >::size())
 
template<int dim, typename number >
DEAL_II_ALWAYS_INLINE dealii::Tensor< 2, dim, dealii::VectorizedArray< number > > MeltPoolDG::CompressibleFlow::calculate_cauchy_stress_tensor (const dealii::VectorizedArray< number > &pressure, const dealii::Tensor< 2, dim, dealii::VectorizedArray< number > > &viscous_stress_tensor)
 Calculate the total stress tensor (Cauchy stress tensor) from pressure contribution and viscous stress contribution.
 
template<typename number , int n_species>
bool MeltPoolDG::CompressibleFlow::is_viscous_flow (const MaterialPhaseData< number > &material_data)