include/meltpooldg/level_set/level_set_tools.hpp Source File
|
Developer Documentation
|
level_set_tools.hpp
Go to the documentation of this file.
118 approximate_distance_from_tanh_level_set(const number phi, const number eps, const number cutoff)
136 merge_two_indicator_fields(const dealii::LinearAlgebra::distributed::Vector<number> &indicator_1,
Container for shared scratch data between operations/operators.
Definition scratch_data.hpp:61
Definition level_set_tools.hpp:25
value_type1 interpolate_reciprocal(const value_type1 &ls, const value_type2 &val1, const value_type3 &val2)
Definition level_set_tools.hpp:56
value_type1 interpolate_cubic_derivative(const value_type1 &ls, const value_type2 &val1, const value_type3 &val2)
Definition level_set_tools.hpp:84
void collect_interface_cells_and_intersection_points(std::vector< std::pair< std::pair< unsigned int, unsigned int >, std::vector< dealii::Point< dim > > > > &surface_cells_and_unit_points, std::vector< dealii::Point< dim > > &surface_points, const dealii::DoFHandler< dim > &dof_handler, const dealii::Mapping< dim > &mapping, const dealii::LinearAlgebra::distributed::Vector< number > &level_set_vector, const number contour_value=0.0, const unsigned int n_subdivisions=1, const number tolerance=1e-10)
Identifies volume cells intersected by a level set and extracts the corresponding quadrature points a...
Definition level_set_tools.cpp:113
dealii::LinearAlgebra::distributed::Vector< number > merge_two_indicator_fields(const dealii::LinearAlgebra::distributed::Vector< number > &indicator_1, const dealii::LinearAlgebra::distributed::Vector< number > &indicator_2, BooleanType type=BooleanType::Union, const number indicator_value_interior=1.0, const number indicator_value_exterior=-1.0)
Definition level_set_tools.cpp:54
dealii::VectorizedArray< number > compute_mask_narrow_band(const dealii::VectorizedArray< number > &val, const number narrow_band_threshold)
Definition level_set_tools.hpp:359
number approximate_distance_from_tanh_level_set(const number phi, const number eps, const number cutoff)
Computes an approximate signed distance from a hyperbolic tangent level-set value.
Definition level_set_tools.hpp:118
value_type1 interpolate(const value_type1 &ls, const value_type2 &val1, const value_type3 &val2)
Definition level_set_tools.hpp:40
void set_material_id_from_level_set(const ScratchData< dim, dim, number > &scratch_data, const unsigned int ls_dof_idx, const dealii::LinearAlgebra::distributed::Vector< number > &level_set_heaviside, const number lower_threshold=0.5)
Definition level_set_tools.cpp:610
std::vector< std::tuple< const typename dealii::Triangulation< dim, dim >::cell_iterator, std::vector< dealii::Point< dim > >, std::vector< number > > > generate_surface_mesh_info(const dealii::DoFHandler< dim > &dof_handler, const dealii::Mapping< dim > &mapping, const dealii::LinearAlgebra::distributed::Vector< number > &level_set, const number contour_value=0.0, const unsigned int n_subdivisions=1, const number tolerance=1e-10, const bool use_mca=true)
Generates surface mesh data corresponding to an implicit interface.
Definition level_set_tools.cpp:426
void evaluate_at_interface(const dealii::DoFHandler< dim > &dof_handler, const dealii::Mapping< dim > &mapping, const dealii::LinearAlgebra::distributed::Vector< number > &level_set_vector, const std::function< void(const typename dealii::DoFHandler< dim >::active_cell_iterator &, const std::vector< dealii::Point< dim > > &, const std::vector< dealii::Point< dim > > &, const std::vector< number > &)> &evaluate_at_interface_points, const number contour_value=0.0, const unsigned int n_subdivisions=1, const number tolerance=1e-10, const bool use_mca=true)
Evaluates user-defined quantities at an implicitly defined interface.
Definition level_set_tools.cpp:209
value_type1 interpolate_cubic(const value_type1 &ls, const value_type2 &val1, const value_type3 &val2)
Definition level_set_tools.hpp:72
void generate_points_along_normal(std::vector< dealii::Point< dim > > &global_points_normal_to_interface, std::vector< unsigned int > &global_points_normal_to_interface_pointer, const dealii::DoFHandler< dim > &dof_handler_ls, const dealii::FESystem< dim > &fe_normal, const dealii::Mapping< dim > &mapping, const dealii::LinearAlgebra::distributed::Vector< number > &level_set_vector, const dealii::LinearAlgebra::distributed::BlockVector< number > &normal_vector, const number max_distance_per_side, const unsigned int n_inc_per_side, const bool bidirectional=true, const number contour_value=0.0, const unsigned int n_subdivisions_MCA=1)
Definition level_set_tools.cpp:458
Generated by