include/meltpooldg/cut/util.hpp File Reference
|
Developer Documentation
|
util.hpp File Reference
#include <deal.II/base/array_view.h>#include <deal.II/base/vectorization.h>#include <deal.II/dofs/dof_handler.h>#include <deal.II/grid/tria.h>#include <deal.II/matrix_free/evaluation_flags.h>#include <deal.II/matrix_free/fe_point_evaluation.h>#include <deal.II/matrix_free/matrix_free.h>#include <deal.II/non_matching/mapping_info.h>#include <deal.II/non_matching/mesh_classifier.h>#include <meltpooldg/utilities/enum.hpp>#include <meltpooldg/utilities/fe_integrator.hpp>#include <memory>#include <utility>#include <vector>
Include dependency graph for util.hpp:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Namespaces | |
| namespace | MeltPoolDG |
| Interface for a general preconditioner. | |
| namespace | MeltPoolDG::CutUtil |
Typedefs | |
| template<int dim, typename number > | |
| using | MeltPoolDG::CutUtil::MappingInfoType = dealii::NonMatching::MappingInfo< dim, dim, dealii::VectorizedArray< number > > |
| template<int dim, typename number > | |
| using | MeltPoolDG::CutUtil::MappingInfoVectorType = std::vector< std::shared_ptr< MappingInfoType< dim, number > > > |
Enumerations | |
| enum | MeltPoolDG::CutUtil::CellCategory { MeltPoolDG::CutUtil::liquid = 0 , MeltPoolDG::CutUtil::intersected = 1 , MeltPoolDG::CutUtil::gas = 2 } |
| Definition of the cell category numbering (active FE index). More... | |
| enum | MeltPoolDG::CutUtil::FaceType { MeltPoolDG::CutUtil::inside_face_liquid , MeltPoolDG::CutUtil::inside_face_gas , MeltPoolDG::CutUtil::intersected_face , MeltPoolDG::CutUtil::mixed_face_liquid_intersected , MeltPoolDG::CutUtil::mixed_face_intersected_liquid , MeltPoolDG::CutUtil::mixed_face_gas_intersected , MeltPoolDG::CutUtil::mixed_face_intersected_gas } |
| Enumeration for the face type. More... | |
Functions | |
| template<int dim> | |
| CutPhaseType | MeltPoolDG::CutUtil::get_cut_type (const dealii::DoFHandler< dim > &dof_handler) |
| Enum that names a type of CutFEM in use. | |
| FaceType | MeltPoolDG::CutUtil::get_face_type (const std::pair< unsigned int, unsigned int > &adjacent_cell_categories) |
| This function categorizes the FaceType of the current face range. | |
| template<int dim> | |
| void | MeltPoolDG::CutUtil::set_fe_index (const dealii::DoFHandler< dim > &dof_handler, const dealii::NonMatching::MeshClassifier< dim > &mesh_classifier, const bool set_future) |
| This function is setting the FE index for every cell. | |
| template<int dim, typename number , typename VectorType > | |
| void | MeltPoolDG::CutUtil::compute_intersected_quadrature (MappingInfoVectorType< dim, number > mapping_info_cells, MappingInfoType< dim, number > &mapping_info_surface, const dealii::DoFHandler< dim > &level_set_dof_handler, const VectorType &level_set, const dealii::MatrixFree< dim, number, dealii::VectorizedArray< number > > &matrix_free, const int fe_degree, const bool is_two_phase, const bool is_dg=false, MappingInfoVectorType< dim, number > mapping_info_faces={}) |
| This function generates the immersed quadrature rules in the case that the domain is described by a discrete level-set function. | |
| template<int dim, typename number , typename VectorType > | |
| void | MeltPoolDG::CutUtil::compute_immersed_surface_quadrature (MappingInfoType< dim, number > &mapping_info_surface, const dealii::DoFHandler< dim > &level_set_dof_handler, const VectorType &level_set, const dealii::MatrixFree< dim, number, dealii::VectorizedArray< number > > &matrix_free, const int fe_degree) |
| This function generates the immersed quadrature rules in the case that the domain is described by a discrete level-set function. | |
| template<int dim, typename number , int n_components = 1> | |
| void | MeltPoolDG::CutUtil::evaluate_intersected_domain (dealii::FEPointEvaluation< n_components, dim, dim, dealii::VectorizedArray< number > > &point_eval, const FECellIntegrator< dim, n_components, number > &cell_eval, const dealii::EvaluationFlags::EvaluationFlags evaluation_flags, const unsigned int cell_batch, const unsigned int cell_lane, const unsigned int n_dofs_per_cell) |
| Evaluates solution values in the intersected domain for a specific SIMD lane within a cell batch. | |
| template<int dim> | |
| bool | MeltPoolDG::CutUtil::face_has_ghost_penalty (const dealii::NonMatching::MeshClassifier< dim > &mesh_classifier, const typename dealii::Triangulation< dim >::active_cell_iterator &cell, const unsigned int face_index, const dealii::NonMatching::LocationToLevelSet &inactive_location=dealii::NonMatching::LocationToLevelSet::inside) |
| This function checks whether the currently considered face requires the application of ghost-penalty stabilization or not. | |
| template<int dim> | |
| bool | MeltPoolDG::CutUtil::is_new_intersected_face (const dealii::NonMatching::MeshClassifier< dim > &mesh_classifier, const dealii::NonMatching::MeshClassifier< dim > &mesh_classifier_old, const typename dealii::Triangulation< dim >::active_cell_iterator &cell, const unsigned int face_index, const dealii::NonMatching::LocationToLevelSet &inactive_location=dealii::NonMatching::LocationToLevelSet::inside) |
| This function checks whether the considered face is a newly created intersected face. | |
Generated by