HeatCutOperation< dim, number > Class Template Reference
|
Developer Documentation
|
Public Member Functions |
Private Types |
Private Member Functions |
Private Attributes |
List of all members
MeltPoolDG::Heat::HeatCutOperation< dim, number > Class Template Reference
#include <heat_cut_operation.hpp>
Inheritance diagram for MeltPoolDG::Heat::HeatCutOperation< dim, number >:
Collaboration diagram for MeltPoolDG::Heat::HeatCutOperation< dim, number >:
Public Member Functions | |
| HeatCutOperation (const ScratchData< dim, dim, number > &scratch_data_in, const std::shared_ptr< const BoundaryConditionManager< dim, number > > heat_bc_manager, const PeriodicBoundaryConditions< dim > &periodic_bc_in, const HeatData< number > &heat_data_in, const MaterialData< number > &material_data_in, const Evaporation::EvaporationData< number > &evapor_data_in, const TimeIntegration::TimeIterator< number > &time_iterator_in, const unsigned int heat_cut_dof_idx_in, const unsigned int heat_cut_no_bc_dof_idx_in, const unsigned int heat_continuous_no_bc_dof_idx_in, const unsigned int heat_quad_idx_in, const bool do_solidification_in, const unsigned int ls_dof_idx_in, const VectorType &level_set_in, const unsigned int vel_dof_idx_in=-1, const VectorType *velocity_in=nullptr, const VectorType *velocity_old_in=nullptr) | |
| void | register_laser_intensity_function_and_direction (std::shared_ptr< const dealii::Function< dim, number > > laser_intensity_profile_in, const dealii::Tensor< 1, dim, number > &laser_direction_in) |
| void | register_lambdas_for_solution_transfer (const std::function< void()> &setup_dof_system_in, const AttachDoFHandlerAndVectorsType< dim, VectorType > attach_vectors_in={}) |
| void | distribute_dofs (ScratchData< dim, dim, number > &mutable_scratch_data) const override |
| void | setup_constraints (ScratchData< dim, dim, number > &mutable_scratch_data) const override |
| void | reinit () override |
| void | set_initial_condition (const dealii::Function< dim > &initial_temperature) override |
| void | distribute_constraints () override |
| void | init_time_advance () override |
| void | solve () override |
| number | compute_L2_norm () const |
| void | register_interface_projection_data (const VectorType &distance, const BlockVectorType &normal_vector, const LevelSet::NearestPointData< double > &nearest_point_data) override |
| void | compute_interface_temperature () override |
| void | attach_vectors (std::vector< VectorType * > &vectors) override |
| void | attach_output_vectors (GenericDataOut< dim, number > &data_out) const override |
| void | attach_output_vectors_failed_step (GenericDataOut< dim, number > &data_out) const override |
| const VectorType & | get_temperature () const override |
| VectorType & | get_temperature () override |
| const VectorType & | get_interface_temperature () const override |
| VectorType & | get_interface_temperature () override |
| const VectorType & | get_heat_source () const override |
| VectorType & | get_heat_source () override |
Public Member Functions inherited from MeltPoolDG::Heat::HeatOperationBase< dim, number > | |
| virtual | ~HeatOperationBase ()=default |
Private Types | |
| using | VectorType = typename HeatOperationBase< dim, number >::VectorType |
| using | BlockVectorType = typename HeatOperationBase< dim, number >::BlockVectorType |
Private Member Functions | |
| void | classify_cells () const |
| void | compute_intersected_quadrature () |
| void | adapt_to_new_interface_position () |
| void | setup_newton () |
| void | update_ghost_values () const |
Private Attributes | |
| const ScratchData< dim, dim, number > & | scratch_data |
| const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > | dirichlet_bc |
| const PeriodicBoundaryConditions< dim > & | periodic_bc |
| const HeatData< number > & | heat_data |
| const TimeIntegration::TimeIterator< number > & | time_iterator |
| const unsigned int | heat_cut_dof_idx |
| const unsigned int | heat_cut_no_bc_dof_idx |
| const unsigned int | heat_cont_no_bc_dof_idx |
| const unsigned int | heat_quad_idx |
| TimeIntegration::SolutionHistory< VectorType > | solution_history |
| VectorType | interface_temperature |
| VectorType | volumetric_heat_source |
| const unsigned int | ls_dof_idx |
| const VectorType & | level_set |
| VectorType | mc_level_set |
| std::shared_ptr< dealii::NonMatching::MeshClassifier< dim > > | mesh_classifier |
| std::shared_ptr< dealii::NonMatching::MeshClassifier< dim > > | mesh_classifier_old |
| CutUtil::SolutionTransferOperator< dim, number > | cut_solution_transfer |
| std::function< void(VectorType &)> | reinit_vector |
| std::function< void()> | setup_dof_system |
| AttachDoFHandlerAndVectorsType< dim, VectorType > | attach_all_vectors |
| dealii::NonMatching::MappingInfo< dim, dim, dealii::VectorizedArray< number > > | mapping_info_surface |
| std::vector< std::shared_ptr< dealii::NonMatching::MappingInfo< dim, dim, dealii::VectorizedArray< number > > > > | mapping_info_cells |
| NewtonRaphsonSolver< number, VectorType > | newton |
| std::unique_ptr< HeatCutOperator< dim, number > > | heat_operator |
| Preconditioner< dim, VectorType, number > | preconditioner |
| std::unique_ptr< LevelSet::Tools::NearestPoint< dim, double > > | nearest_point_search |
| bool | ready_for_time_advance = false |
| bool | ready_to_generate_intersected_quadrature = true |
| bool | skip_classify_cells = false |
Additional Inherited Members | |
Public Types inherited from MeltPoolDG::Heat::HeatOperationBase< dim, number > | |
| using | VectorType = dealii::LinearAlgebra::distributed::Vector< number > |
| using | BlockVectorType = dealii::LinearAlgebra::distributed::BlockVector< number > |
Member Typedef Documentation
◆ BlockVectorType
template<int dim, typename number >
|
private |
◆ VectorType
template<int dim, typename number >
|
private |
Constructor & Destructor Documentation
◆ HeatCutOperation()
template<int dim, typename number >
| MeltPoolDG::Heat::HeatCutOperation< dim, number >::HeatCutOperation | ( | const ScratchData< dim, dim, number > & | scratch_data_in, |
| const std::shared_ptr< const BoundaryConditionManager< dim, number > > | heat_bc_manager, | ||
| const PeriodicBoundaryConditions< dim > & | periodic_bc_in, | ||
| const HeatData< number > & | heat_data_in, | ||
| const MaterialData< number > & | material_data_in, | ||
| const Evaporation::EvaporationData< number > & | evapor_data_in, | ||
| const TimeIntegration::TimeIterator< number > & | time_iterator_in, | ||
| const unsigned int | heat_cut_dof_idx_in, | ||
| const unsigned int | heat_cut_no_bc_dof_idx_in, | ||
| const unsigned int | heat_continuous_no_bc_dof_idx_in, | ||
| const unsigned int | heat_quad_idx_in, | ||
| const bool | do_solidification_in, | ||
| const unsigned int | ls_dof_idx_in, | ||
| const VectorType & | level_set_in, | ||
| const unsigned int | vel_dof_idx_in = -1, |
||
| const VectorType * | velocity_in = nullptr, |
||
| const VectorType * | velocity_old_in = nullptr |
||
| ) |
Member Function Documentation
◆ adapt_to_new_interface_position()
template<int dim, typename number >
|
private |
◆ attach_output_vectors()
template<int dim, typename number >
|
overridevirtual |
attach vectors for output
Implements MeltPoolDG::Heat::HeatOperationBase< dim, number >.
◆ attach_output_vectors_failed_step()
template<int dim, typename number >
|
overridevirtual |
◆ attach_vectors()
template<int dim, typename number >
|
overridevirtual |
register vectors for adaptive mesh refinement solution transfer
Implements MeltPoolDG::Heat::HeatOperationBase< dim, number >.
◆ classify_cells()
template<int dim, typename number >
|
private |
◆ compute_interface_temperature()
template<int dim, typename number >
|
overridevirtual |
◆ compute_intersected_quadrature()
template<int dim, typename number >
|
private |
◆ compute_L2_norm()
template<int dim, typename number >
| number MeltPoolDG::Heat::HeatCutOperation< dim, number >::compute_L2_norm | ( | ) | const |
◆ distribute_constraints()
template<int dim, typename number >
|
overridevirtual |
◆ distribute_dofs()
template<int dim, typename number >
|
overridevirtual |
◆ get_heat_source() [1/2]
template<int dim, typename number >
|
overridevirtual |
◆ get_heat_source() [2/2]
template<int dim, typename number >
|
overridevirtual |
◆ get_interface_temperature() [1/2]
template<int dim, typename number >
|
overridevirtual |
◆ get_interface_temperature() [2/2]
template<int dim, typename number >
|
overridevirtual |
◆ get_temperature() [1/2]
template<int dim, typename number >
|
overridevirtual |
◆ get_temperature() [2/2]
template<int dim, typename number >
|
overridevirtual |
◆ init_time_advance()
template<int dim, typename number >
|
overridevirtual |
◆ register_interface_projection_data()
template<int dim, typename number >
|
overridevirtual |
◆ register_lambdas_for_solution_transfer()
template<int dim, typename number >
| void MeltPoolDG::Heat::HeatCutOperation< dim, number >::register_lambdas_for_solution_transfer | ( | const std::function< void()> & | setup_dof_system_in, |
| const AttachDoFHandlerAndVectorsType< dim, VectorType > | attach_vectors_in = {} |
||
| ) |
Before this operator can adapt_to_new_interface_position(), attach the following lambdas:
- Parameters
-
setup_dof_system_in same as in AMR::refine_grid() attach_vectors_in same as in AMR::refine_grid(), only necessary if this operation is used with non-cut operations in a partitioned application
◆ register_laser_intensity_function_and_direction()
template<int dim, typename number >
| void MeltPoolDG::Heat::HeatCutOperation< dim, number >::register_laser_intensity_function_and_direction | ( | std::shared_ptr< const dealii::Function< dim, number > > | laser_intensity_profile_in, |
| const dealii::Tensor< 1, dim, number > & | laser_direction_in | ||
| ) |
◆ reinit()
template<int dim, typename number >
|
overridevirtual |
◆ set_initial_condition()
template<int dim, typename number >
|
overridevirtual |
◆ setup_constraints()
template<int dim, typename number >
|
overridevirtual |
◆ setup_newton()
template<int dim, typename number >
|
private |
◆ solve()
template<int dim, typename number >
|
overridevirtual |
◆ update_ghost_values()
template<int dim, typename number >
|
private |
Member Data Documentation
◆ attach_all_vectors
template<int dim, typename number >
|
private |
◆ cut_solution_transfer
template<int dim, typename number >
|
private |
◆ dirichlet_bc
template<int dim, typename number >
|
private |
◆ heat_cont_no_bc_dof_idx
template<int dim, typename number >
|
private |
◆ heat_cut_dof_idx
template<int dim, typename number >
|
private |
◆ heat_cut_no_bc_dof_idx
template<int dim, typename number >
|
private |
◆ heat_data
template<int dim, typename number >
|
private |
◆ heat_operator
template<int dim, typename number >
|
private |
◆ heat_quad_idx
template<int dim, typename number >
|
private |
◆ interface_temperature
template<int dim, typename number >
|
private |
◆ level_set
template<int dim, typename number >
|
private |
◆ ls_dof_idx
template<int dim, typename number >
|
private |
◆ mapping_info_cells
template<int dim, typename number >
|
private |
◆ mapping_info_surface
template<int dim, typename number >
|
private |
◆ mc_level_set
template<int dim, typename number >
|
mutableprivate |
◆ mesh_classifier
template<int dim, typename number >
|
private |
◆ mesh_classifier_old
template<int dim, typename number >
|
private |
◆ nearest_point_search
template<int dim, typename number >
|
private |
◆ newton
template<int dim, typename number >
|
private |
◆ periodic_bc
template<int dim, typename number >
|
private |
◆ preconditioner
template<int dim, typename number >
|
private |
◆ ready_for_time_advance
template<int dim, typename number >
|
private |
◆ ready_to_generate_intersected_quadrature
template<int dim, typename number >
|
private |
the following two parameters are used to manipulate the behaviour of setup_dof_system during cut solution transfer:
◆ reinit_vector
template<int dim, typename number >
|
private |
◆ scratch_data
template<int dim, typename number >
|
private |
◆ setup_dof_system
template<int dim, typename number >
|
private |
◆ skip_classify_cells
template<int dim, typename number >
|
private |
◆ solution_history
template<int dim, typename number >
|
private |
◆ time_iterator
template<int dim, typename number >
|
private |
◆ volumetric_heat_source
template<int dim, typename number >
|
private |
The documentation for this class was generated from the following files:
- include/meltpooldg/heat/heat_cut_operation.hpp
- source/heat/heat_cut_operation.cpp
Generated by
Public Member Functions inherited from