CellWiseFunction< dim, VectorType, FEType > Class Template Reference

Developer Documentation: MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType > Class Template Reference
Developer Documentation
MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType > Class Template Reference

Scalar function defined by the DoF values of a single cell. More...

#include <signed_distance_solver.hpp>

Inheritance diagram for MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType >:
[legend]
Collaboration diagram for MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType >:
[legend]

Public Member Functions

 CellWiseFunction (const unsigned int p_fe_degree)
 Constructor.
 
void set_active_cell (const VectorType &in_local_dof_values)
 Set the active cell values used for subsequent evaluations.
 
double value (const dealii::Point< dim > &point, const unsigned int component=0) const override
 Return the value of the function at a point in the reference cell.
 
dealii::Tensor< 1, dim > gradient (const dealii::Point< dim > &point, const unsigned int component=0) const override
 Return the gradient of the specified component at a point in the reference cell.
 
dealii::SymmetricTensor< 2, dim > hessian (const dealii::Point< dim > &point, const unsigned int component=0) const override
 Return the Hessian of the specified component at a point in the reference cell.
 

Private Attributes

FEType fe
 Finite element discretizing the field of interest.
 
unsigned int n_cell_wise_dofs
 Number of DoFs per element.
 
VectorType cell_dof_values
 Value of the field at the DoFs of the active cell.
 

Detailed Description

template<int dim, typename VectorType = dealii::Vector<double>, typename FEType = dealii::FE_Q<dim>>
class MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType >

Scalar function defined by the DoF values of a single cell.

Based on the CellWiseFunction and RefSpaceFEFieldFunction of deal.II.

Template Parameters
dimAn integer that denotes the dimension of the space in which the problem is solved.
VectorTypeThe vector type of the solution vector.
FETypeThe finite element type used to discretize the problem.

Constructor & Destructor Documentation

◆ CellWiseFunction()

template<int dim, typename VectorType = dealii::Vector<double>, typename FEType = dealii::FE_Q<dim>>
MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType >::CellWiseFunction ( const unsigned int  p_fe_degree)
inline

Constructor.

Parameters
[in]p_fe_degreeFinite element degree discretizing the field to convert to a CellWiseFunction.

Member Function Documentation

◆ gradient()

template<int dim, typename VectorType = dealii::Vector<double>, typename FEType = dealii::FE_Q<dim>>
dealii::Tensor< 1, dim > MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType >::gradient ( const dealii::Point< dim > &  point,
const unsigned int  component = 0 
) const
inlineoverride

Return the gradient of the specified component at a point in the reference cell.

Parameters
[in]pointCoordinates of the point in the reference cell.
[in]componentIndex of the component for which the gradient is computed.
Returns
Gradient of the specified component at point.

◆ hessian()

template<int dim, typename VectorType = dealii::Vector<double>, typename FEType = dealii::FE_Q<dim>>
dealii::SymmetricTensor< 2, dim > MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType >::hessian ( const dealii::Point< dim > &  point,
const unsigned int  component = 0 
) const
inlineoverride

Return the Hessian of the specified component at a point in the reference cell.

Parameters
[in]pointCoordinates of the point in the reference cell.
[in]componentIndex of the component for which the Hessian is computed.
Returns
Hessian of the specified component at point.

◆ set_active_cell()

template<int dim, typename VectorType = dealii::Vector<double>, typename FEType = dealii::FE_Q<dim>>
void MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType >::set_active_cell ( const VectorType &  in_local_dof_values)
inline

Set the active cell values used for subsequent evaluations.

Parameters
[in]in_local_dof_valuesCell DoF values.

◆ value()

template<int dim, typename VectorType = dealii::Vector<double>, typename FEType = dealii::FE_Q<dim>>
double MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType >::value ( const dealii::Point< dim > &  point,
const unsigned int  component = 0 
) const
inlineoverride

Return the value of the function at a point in the reference cell.

Parameters
[in]pointCoordinates of the point in the reference cell.
[in]componentIndex of the component for which the value is computed.
Returns
Value of the function, or requested component, at point.

Member Data Documentation

◆ cell_dof_values

template<int dim, typename VectorType = dealii::Vector<double>, typename FEType = dealii::FE_Q<dim>>
VectorType MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType >::cell_dof_values
private

Value of the field at the DoFs of the active cell.

◆ fe

template<int dim, typename VectorType = dealii::Vector<double>, typename FEType = dealii::FE_Q<dim>>
FEType MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType >::fe
private

Finite element discretizing the field of interest.

◆ n_cell_wise_dofs

template<int dim, typename VectorType = dealii::Vector<double>, typename FEType = dealii::FE_Q<dim>>
unsigned int MeltPoolDG::LevelSet::CellWiseFunction< dim, VectorType, FEType >::n_cell_wise_dofs
private

Number of DoFs per element.


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