include/meltpooldg/level_set/signed_distance_solver.hpp File Reference
|
Developer Documentation
|
signed_distance_solver.hpp File Reference
#include <deal.II/base/bounding_box.h>#include <deal.II/base/conditional_ostream.h>#include <deal.II/base/function.h>#include <deal.II/base/point.h>#include <deal.II/base/quadrature_lib.h>#include <deal.II/base/table_handler.h>#include <deal.II/base/tensor.h>#include <deal.II/base/utilities.h>#include <deal.II/dofs/dof_handler.h>#include <deal.II/dofs/dof_tools.h>#include <deal.II/fe/fe.h>#include <deal.II/fe/fe_q.h>#include <deal.II/fe/fe_tools.h>#include <deal.II/fe/mapping_q.h>#include <deal.II/grid/grid_tools.h>#include <deal.II/grid/tria.h>#include <deal.II/hp/fe_collection.h>#include <deal.II/hp/q_collection.h>#include <deal.II/lac/affine_constraints.h>#include <deal.II/lac/la_parallel_vector.h>#include <deal.II/lac/lapack_full_matrix.h>#include <deal.II/lac/vector.h>#include <deal.II/matrix_free/fe_point_evaluation.h>#include <deal.II/non_matching/fe_immersed_values.h>#include <deal.II/non_matching/fe_values.h>#include <deal.II/non_matching/mesh_classifier.h>#include <deal.II/non_matching/quadrature_generator.h>#include <deal.II/numerics/data_out.h>#include <deal.II/numerics/vector_tools.h>#include <algorithm>#include <cmath>#include <fstream>#include <iostream>#include <map>#include <memory>#include <optional>#include <set>#include <string>#include <vector>
Include dependency graph for signed_distance_solver.hpp:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Classes | |
| class | MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType > |
| Scalar function defined by the DoF values of a single cell. More... | |
| class | MeltPoolDG::LevelSet::InterfaceReconstructionDataOut< dim > |
| Interface to build patches of the interface reconstruction vertices for visualization. More... | |
| class | MeltPoolDG::LevelSet::SignedDistanceSolver< dim, VectorType > |
| Solver to compute the signed distance from a given level of a level-set field. More... | |
Namespaces | |
| namespace | MeltPoolDG |
| Interface for a general preconditioner. | |
| namespace | MeltPoolDG::LevelSet |
| This operation solves the reinitialization problem for a CG- or DG-FEM-based discrete level-set field by solving an elliptic problem. | |
Enumerations | |
| enum class | MeltPoolDG::LevelSet::Verbosity { MeltPoolDG::LevelSet::quiet , MeltPoolDG::LevelSet::verbose } |
| Verbosity levels used to control console output. More... | |
Functions | |
| template<typename T > | |
| constexpr int | MeltPoolDG::LevelSet::sgn (const T val) noexcept |
| Return the sign of a value. | |
| void | MeltPoolDG::LevelSet::announce_string (const dealii::ConditionalOStream &pcout, const std::string &expression, const char delimiter='-') |
| Print a string surrounded by delimiter lines. | |
| template<int dim> | |
| double | MeltPoolDG::LevelSet::compute_cell_diameter (const double cell_measure, const unsigned int fe_degree) |
| Compute an equivalent cell diameter from a cell measure. | |
| template<int dim> | |
| void | MeltPoolDG::LevelSet::vertices_cell_mapping (const dealii::DoFHandler< dim > &dof_handler, std::map< unsigned int, std::set< typename dealii::DoFHandler< dim >::active_cell_iterator > > &vertices_cell_map) |
| Build a map from mesh vertex indices to the active cells that contain them. | |
| template<int dim> | |
| std::vector< typename dealii::DoFHandler< dim >::active_cell_iterator > | MeltPoolDG::LevelSet::find_cells_around_cell (std::map< unsigned int, std::set< typename dealii::DoFHandler< dim >::active_cell_iterator > > &vertices_cell_map, const typename dealii::DoFHandler< dim >::active_cell_iterator &cell) |
| Find all active cells sharing at least one vertex with a given cell. | |
| template<int dim> | |
| double | MeltPoolDG::LevelSet::find_point_triangle_distance (const std::vector< dealii::Point< dim > > &triangle, const dealii::Point< dim > &point) |
| Compute the shortest distance between a point and an interface segment or triangle. | |
| template<int dim> | |
| double | MeltPoolDG::LevelSet::compute_cell_wise_volume (dealii::FEPointEvaluation< 1, dim > &fe_point_evaluation, const typename dealii::DoFHandler< dim >::active_cell_iterator &cell, dealii::Vector< double > cell_dof_level_set_values, const double corr, const unsigned int n_quad_points) |
| Compute the volume enclosed by the zero level of a level-set field inside a cell. | |
| template<int dim, typename VectorType > | |
| std::pair< double, double > | MeltPoolDG::LevelSet::integrate_volume_and_surface (const dealii::DoFHandler< dim > &dof_handler, const dealii::FiniteElement< dim > &fe, const VectorType &level_set_vector_relevant_copy) |
| Integrate the surface area of the zero level of a level-set field and the volume enclosed by it. | |
| template<int dim, typename VectorType > | |
| std::pair< double, double > | MeltPoolDG::LevelSet::integrate_volume_and_surface (const dealii::DoFHandler< dim > &dof_handler, const dealii::FiniteElement< dim > &fe, const VectorType &level_set_vector, const double iso_level) |
| Integrate the surface area of a given level of a level-set field and the volume enclosed by it. | |
| template<int dim, typename VectorType > | |
| void | MeltPoolDG::LevelSet::reconstruct_interface (const dealii::Mapping< dim > &mapping, const dealii::DoFHandler< dim > &dof_handler, const dealii::FiniteElement< dim > &fe, const VectorType &level_set_vector, const double iso_level, const int mca_n_subdivisions, std::map< dealii::types::global_cell_index, std::vector< dealii::Point< dim > > > &interface_reconstruction_vertices, std::map< dealii::types::global_cell_index, std::vector< dealii::CellData< dim==1 ? 1 :dim - 1 > > > &interface_reconstruction_cells, std::set< dealii::types::global_dof_index > &intersected_dofs) |
| Reconstruct the interface defined by a given level of a level-set field in the domain. | |
Generated by