DFT-FE 1.1.0-pre
Density Functional Theory With Finite-Elements
Loading...
Searching...
No Matches
dftfe::utils::FECell< dim > Class Template Reference

This class provides the specialisation for Finite element cell. This class provides the function defintions for shape function calculation at an arbitrary point inside the cell, checks if a point lies within a cell by computing its parametric points. More...

#include <FECell.h>

Inheritance diagram for dftfe::utils::FECell< dim >:
dftfe::utils::Cell< dim >

Public Types

using DealiiFECellIterator
 

Public Member Functions

 FECell (typename dealii::DoFHandler< dim >::active_cell_iterator dealiiFECellIter, const dealii::FiniteElement< dim, dim > &fe)
 
void reinit (DealiiFECellIterator dealiiFECellIter)
 
void getVertices (std::vector< std::vector< double > > &points) const override
 
void getVertex (dftfe::uInt i, std::vector< double > &point) const override
 
std::pair< std::vector< double >, std::vector< double > > getBoundingBox () const override
 
bool isPointInside (const std::vector< double > &point, const double tol) const override
 
std::vector< double > getParametricPoint (const std::vector< double > &realPoint) const override
 
std::vector< double > getParametricPointForAllPoints (dftfe::uInt numPoints, const std::vector< double > &realPoint) const
 
DealiiFECellIteratorgetDealiiFECellIter ()
 
void getShapeFuncValuesFromParametricPoints (dftfe::uInt numPointsInCell, const std::vector< double > &parametricPoints, std::vector< dataTypes::number > &shapeFuncValues, dftfe::uInt cellShapeFuncStartIndex, dftfe::uInt numDofsPerElement) const
 
void getShapeFuncValues (dftfe::uInt numPointsInCell, const std::vector< double > &coordinatesOfPointsInCell, std::vector< dataTypes::number > &shapeFuncValues, dftfe::uInt cellShapeFuncStartIndex, dftfe::uInt numDofsPerElement) const override
 
- Public Member Functions inherited from dftfe::utils::Cell< dim >
 Cell ()
 
 Cell (const std::vector< double > &ll, const std::vector< double > &ur)
 

Private Attributes

std::vector< double > d_lowerLeft
 
std::vector< double > d_upperRight
 
DealiiFECellIterator d_dealiiFECellIter
 
dealii::MappingQ1< dim, dim > d_mappingQ1
 
const dealii::FiniteElement< dim, dim > & d_feCell
 

Detailed Description

template<dftfe::uInt dim>
class dftfe::utils::FECell< dim >

This class provides the specialisation for Finite element cell. This class provides the function defintions for shape function calculation at an arbitrary point inside the cell, checks if a point lies within a cell by computing its parametric points.

Author
Vishal Subramanian, Bikash Kanungo

Member Typedef Documentation

◆ DealiiFECellIterator

template<dftfe::uInt dim>
using dftfe::utils::FECell< dim >::DealiiFECellIterator
Initial value:
typename dealii::DoFHandler<dim>::active_cell_iterator

Constructor & Destructor Documentation

◆ FECell()

template<dftfe::uInt dim>
dftfe::utils::FECell< dim >::FECell ( typename dealii::DoFHandler< dim >::active_cell_iterator dealiiFECellIter,
const dealii::FiniteElement< dim, dim > & fe )

Member Function Documentation

◆ getBoundingBox()

template<dftfe::uInt dim>
std::pair< std::vector< double >, std::vector< double > > dftfe::utils::FECell< dim >::getBoundingBox ( ) const
overridevirtual

Reimplemented from dftfe::utils::Cell< dim >.

◆ getDealiiFECellIter()

template<dftfe::uInt dim>
DealiiFECellIterator & dftfe::utils::FECell< dim >::getDealiiFECellIter ( )

◆ getParametricPoint()

template<dftfe::uInt dim>
std::vector< double > dftfe::utils::FECell< dim >::getParametricPoint ( const std::vector< double > & realPoint) const
overridevirtual

Reimplemented from dftfe::utils::Cell< dim >.

◆ getParametricPointForAllPoints()

template<dftfe::uInt dim>
std::vector< double > dftfe::utils::FECell< dim >::getParametricPointForAllPoints ( dftfe::uInt numPoints,
const std::vector< double > & realPoint ) const

◆ getShapeFuncValues()

template<dftfe::uInt dim>
void dftfe::utils::FECell< dim >::getShapeFuncValues ( dftfe::uInt numPointsInCell,
const std::vector< double > & coordinatesOfPointsInCell,
std::vector< dataTypes::number > & shapeFuncValues,
dftfe::uInt cellShapeFuncStartIndex,
dftfe::uInt numDofsPerElement ) const
overridevirtual

◆ getShapeFuncValuesFromParametricPoints()

template<dftfe::uInt dim>
void dftfe::utils::FECell< dim >::getShapeFuncValuesFromParametricPoints ( dftfe::uInt numPointsInCell,
const std::vector< double > & parametricPoints,
std::vector< dataTypes::number > & shapeFuncValues,
dftfe::uInt cellShapeFuncStartIndex,
dftfe::uInt numDofsPerElement ) const

◆ getVertex()

template<dftfe::uInt dim>
void dftfe::utils::FECell< dim >::getVertex ( dftfe::uInt i,
std::vector< double > & point ) const
overridevirtual

Reimplemented from dftfe::utils::Cell< dim >.

◆ getVertices()

template<dftfe::uInt dim>
void dftfe::utils::FECell< dim >::getVertices ( std::vector< std::vector< double > > & points) const
overridevirtual

Reimplemented from dftfe::utils::Cell< dim >.

◆ isPointInside()

template<dftfe::uInt dim>
bool dftfe::utils::FECell< dim >::isPointInside ( const std::vector< double > & point,
const double tol ) const
overridevirtual

Reimplemented from dftfe::utils::Cell< dim >.

◆ reinit()

template<dftfe::uInt dim>
void dftfe::utils::FECell< dim >::reinit ( DealiiFECellIterator dealiiFECellIter)

Member Data Documentation

◆ d_dealiiFECellIter

template<dftfe::uInt dim>
DealiiFECellIterator dftfe::utils::FECell< dim >::d_dealiiFECellIter
private

◆ d_feCell

template<dftfe::uInt dim>
const dealii::FiniteElement<dim, dim>& dftfe::utils::FECell< dim >::d_feCell
private

◆ d_lowerLeft

template<dftfe::uInt dim>
std::vector<double> dftfe::utils::FECell< dim >::d_lowerLeft
private

◆ d_mappingQ1

template<dftfe::uInt dim>
dealii::MappingQ1<dim, dim> dftfe::utils::FECell< dim >::d_mappingQ1
private

◆ d_upperRight

template<dftfe::uInt dim>
std::vector<double> dftfe::utils::FECell< dim >::d_upperRight
private

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