LevelSetOperationBase< dim, number > Class Template Reference

Developer Documentation: MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number > Class Template Reference
Developer Documentation
MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number > Class Template Referenceabstract

#include <level_set_operation_base.hpp>

Inheritance diagram for MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >:
[legend]

Public Member Functions

virtual ~LevelSetOperationBase ()=default
 
virtual void set_initial_condition (const dealii::Function< dim > &initial_field_function_level_set, const bool is_signed_distance_initial_field_function=false)=0
 
virtual void set_inflow_outflow_bc (const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > inflow_outflow_bc)=0
 
virtual void setup_constraints (ScratchData< dim, dim, number > &mutable_scratch_data, const PeriodicBoundaryConditions< dim > &pbc, const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > &ls_dirichlet_bc_in, const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > &normal_x_dirichlet_bc_in, const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > &normal_y_dirichlet_bc_in, const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > &normal_z_dirichlet_bc_in)=0
 
virtual void reinit ()=0
 
virtual void distribute_constraints ()=0
 
virtual void init_time_advance ()=0
 
virtual void solve (const bool do_finish_time_step=true)=0
 
virtual void finish_time_advance ()=0
 
virtual void set_level_set_user_rhs (const dealii::LinearAlgebra::distributed::Vector< number > &level_set_user_rhs)=0
 
virtual void set_wetting_boundary_condition_ids (std::vector< dealii::types::boundary_id > &&)
 
virtual void update_normal_vector ()=0
 
virtual const dealii::LinearAlgebra::distributed::Vector< number > & get_curvature () const =0
 
virtual dealii::LinearAlgebra::distributed::Vector< number > & get_curvature ()=0
 
virtual const dealii::LinearAlgebra::distributed::BlockVector< number > & get_normal_vector () const =0
 
virtual dealii::LinearAlgebra::distributed::BlockVector< number > & get_normal_vector ()=0
 
virtual const dealii::LinearAlgebra::distributed::Vector< number > & get_level_set () const =0
 
virtual dealii::LinearAlgebra::distributed::Vector< number > & get_level_set ()=0
 
virtual const dealii::LinearAlgebra::distributed::Vector< number > & get_level_set_as_heaviside () const =0
 
virtual dealii::LinearAlgebra::distributed::Vector< number > & get_level_set_as_heaviside ()=0
 
virtual const dealii::LinearAlgebra::distributed::Vector< number > & get_distance_to_level_set () const =0
 
virtual const SurfaceMeshInfoget_surface_mesh_info () const =0
 
virtual void attach_vectors (std::vector< dealii::LinearAlgebra::distributed::Vector< number > * > &vectors)=0
 
virtual void attach_output_vectors (GenericDataOut< dim, number > &data_out) const =0
 
virtual void update_surface_mesh ()=0
 
virtual void transform_level_set_to_smooth_heaviside ()=0
 

Private Types

using SurfaceMeshInfo = std::vector< std::tuple< const typename dealii::Triangulation< dim, dim >::cell_iterator, std::vector< dealii::Point< dim > >, std::vector< number > > >
 

Member Typedef Documentation

◆ SurfaceMeshInfo

template<int dim, typename number >
using MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::SurfaceMeshInfo = std::vector<std::tuple<const typename dealii::Triangulation<dim, dim>::cell_iterator , std::vector<dealii::Point<dim> > , std::vector<number> > >
private

Constructor & Destructor Documentation

◆ ~LevelSetOperationBase()

template<int dim, typename number >
virtual MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::~LevelSetOperationBase ( )
virtualdefault

Member Function Documentation

◆ attach_output_vectors()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::attach_output_vectors ( GenericDataOut< dim, number > &  data_out) const
pure virtual

◆ attach_vectors()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::attach_vectors ( std::vector< dealii::LinearAlgebra::distributed::Vector< number > * > &  vectors)
pure virtual

◆ distribute_constraints()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::distribute_constraints ( )
pure virtual

◆ finish_time_advance()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::finish_time_advance ( )
pure virtual

◆ get_curvature() [1/2]

template<int dim, typename number >
virtual const dealii::LinearAlgebra::distributed::Vector< number > & MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::get_curvature ( ) const
pure virtual

◆ get_curvature() [2/2]

template<int dim, typename number >
virtual dealii::LinearAlgebra::distributed::Vector< number > & MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::get_curvature ( )
pure virtual

◆ get_distance_to_level_set()

template<int dim, typename number >
virtual const dealii::LinearAlgebra::distributed::Vector< number > & MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::get_distance_to_level_set ( ) const
pure virtual

◆ get_level_set() [1/2]

template<int dim, typename number >
virtual const dealii::LinearAlgebra::distributed::Vector< number > & MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::get_level_set ( ) const
pure virtual

◆ get_level_set() [2/2]

template<int dim, typename number >
virtual dealii::LinearAlgebra::distributed::Vector< number > & MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::get_level_set ( )
pure virtual

◆ get_level_set_as_heaviside() [1/2]

template<int dim, typename number >
virtual const dealii::LinearAlgebra::distributed::Vector< number > & MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::get_level_set_as_heaviside ( ) const
pure virtual

◆ get_level_set_as_heaviside() [2/2]

template<int dim, typename number >
virtual dealii::LinearAlgebra::distributed::Vector< number > & MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::get_level_set_as_heaviside ( )
pure virtual

◆ get_normal_vector() [1/2]

template<int dim, typename number >
virtual const dealii::LinearAlgebra::distributed::BlockVector< number > & MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::get_normal_vector ( ) const
pure virtual

◆ get_normal_vector() [2/2]

template<int dim, typename number >
virtual dealii::LinearAlgebra::distributed::BlockVector< number > & MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::get_normal_vector ( )
pure virtual

◆ get_surface_mesh_info()

template<int dim, typename number >
virtual const SurfaceMeshInfo & MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::get_surface_mesh_info ( ) const
pure virtual

◆ init_time_advance()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::init_time_advance ( )
pure virtual

◆ reinit()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::reinit ( )
pure virtual

◆ set_inflow_outflow_bc()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::set_inflow_outflow_bc ( const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > >  inflow_outflow_bc)
pure virtual

◆ set_initial_condition()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::set_initial_condition ( const dealii::Function< dim > &  initial_field_function_level_set,
const bool  is_signed_distance_initial_field_function = false 
)
pure virtual

◆ set_level_set_user_rhs()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::set_level_set_user_rhs ( const dealii::LinearAlgebra::distributed::Vector< number > &  level_set_user_rhs)
pure virtual

◆ set_wetting_boundary_condition_ids()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::set_wetting_boundary_condition_ids ( std::vector< dealii::types::boundary_id > &&  )
inlinevirtual

◆ setup_constraints()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::setup_constraints ( ScratchData< dim, dim, number > &  mutable_scratch_data,
const PeriodicBoundaryConditions< dim > &  pbc,
const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > &  ls_dirichlet_bc_in,
const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > &  normal_x_dirichlet_bc_in,
const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > &  normal_y_dirichlet_bc_in,
const std::map< dealii::types::boundary_id, std::shared_ptr< dealii::Function< dim > > > &  normal_z_dirichlet_bc_in 
)
pure virtual

◆ solve()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::solve ( const bool  do_finish_time_step = true)
pure virtual

◆ transform_level_set_to_smooth_heaviside()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::transform_level_set_to_smooth_heaviside ( )
pure virtual

◆ update_normal_vector()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::update_normal_vector ( )
pure virtual

◆ update_surface_mesh()

template<int dim, typename number >
virtual void MeltPoolDG::LevelSet::LevelSetOperationBase< dim, number >::update_surface_mesh ( )
pure virtual

The documentation for this class was generated from the following file: