#include <GenerateMesh.h>
|
| GenerateMesh (const std::vector< utils::Point > &atomCoordinates, const std::vector< utils::Point > &domainBoundingVectors, double radiusAroundAtom, double meshSizeAroundAtom, const std::vector< bool > &isPeriodicFlags, const basis::CellMappingBase &cellMapping, const MPI_Comm &mpiDomainCommunicator, const MPI_Comm &mpiInterpoolCommunicator=utils::mpi::MPICommSelf) |
| This class generates and stores adaptive finite element meshes for the real-space dft problem. More...
|
|
| GenerateMesh (const std::vector< utils::Point > &atomCoordinates, const std::vector< utils::Point > &domainBoundingVectors, double radiusAtAtom, double meshSizeAtAtom, double radiusAroundAtom, double meshSizeAroundAtom, const std::vector< bool > &isPeriodicFlags, const basis::CellMappingBase &cellMapping, const MPI_Comm &mpiDomainCommunicator, const MPI_Comm &mpiInterpoolCommunicator=utils::mpi::MPICommSelf) |
| This class generates and stores adaptive finite element meshes for the real-space dft problem. More...
|
|
| ~GenerateMesh ()=default |
|
void | createMesh (TriangulationBase &triangulation) |
|
An abstract class to handle GenerateMesh, for mesh generation around atom.
◆ GenerateMesh() [1/2]
dftefe::basis::GenerateMesh::GenerateMesh |
( |
const std::vector< utils::Point > & |
atomCoordinates, |
|
|
const std::vector< utils::Point > & |
domainBoundingVectors, |
|
|
double |
radiusAroundAtom, |
|
|
double |
meshSizeAroundAtom, |
|
|
const std::vector< bool > & |
isPeriodicFlags, |
|
|
const basis::CellMappingBase & |
cellMapping, |
|
|
const MPI_Comm & |
mpiDomainCommunicator, |
|
|
const MPI_Comm & |
mpiInterpoolCommunicator = utils::mpi::MPICommSelf |
|
) |
| |
This class generates and stores adaptive finite element meshes for the real-space dft problem.
The class uses an adpative mesh generation strategy to generate finite element mesh for given domain based on: atomBallRadius, meshSizeAroundAtom. Mainly to be used in PseudoPotential Caluclations. Additionaly, this class also applies periodicity to mesh.
- Author
- dftefe
◆ GenerateMesh() [2/2]
dftefe::basis::GenerateMesh::GenerateMesh |
( |
const std::vector< utils::Point > & |
atomCoordinates, |
|
|
const std::vector< utils::Point > & |
domainBoundingVectors, |
|
|
double |
radiusAtAtom, |
|
|
double |
meshSizeAtAtom, |
|
|
double |
radiusAroundAtom, |
|
|
double |
meshSizeAroundAtom, |
|
|
const std::vector< bool > & |
isPeriodicFlags, |
|
|
const basis::CellMappingBase & |
cellMapping, |
|
|
const MPI_Comm & |
mpiDomainCommunicator, |
|
|
const MPI_Comm & |
mpiInterpoolCommunicator = utils::mpi::MPICommSelf |
|
) |
| |
This class generates and stores adaptive finite element meshes for the real-space dft problem.
The class uses an adpative mesh generation strategy to generate finite element mesh for given domain based on: atomBallRadius, meshSizeAroundAtom, meshSizeAtAtom .Mainly used in AllElectron Calculations. Additionaly, this class also applies periodicity to mesh.
- Author
- dftefe
◆ ~GenerateMesh()
dftefe::basis::GenerateMesh::~GenerateMesh |
( |
| ) |
|
|
default |
◆ createMesh()
◆ generateCoarseMesh()
void dftefe::basis::GenerateMesh::generateCoarseMesh |
( |
TriangulationBase & |
triangulation, |
|
|
const std::vector< bool > & |
isPeriodicFlags |
|
) |
| |
|
private |
◆ refinementAlgorithm()
◆ d_adaptiveWithFineMesh
bool dftefe::basis::GenerateMesh::d_adaptiveWithFineMesh |
|
private |
◆ d_atomCoordinates
const std::vector<utils::Point>& dftefe::basis::GenerateMesh::d_atomCoordinates |
|
private |
◆ d_cellMapping
◆ d_dim
◆ d_domainBoundingVectors
const std::vector<utils::Point>& dftefe::basis::GenerateMesh::d_domainBoundingVectors |
|
private |
◆ d_isPeriodicFlags
const std::vector<bool>& dftefe::basis::GenerateMesh::d_isPeriodicFlags |
|
private |
◆ d_maxRefinementSteps
size_type dftefe::basis::GenerateMesh::d_maxRefinementSteps |
|
private |
◆ d_meshSizeAroundAtom
double dftefe::basis::GenerateMesh::d_meshSizeAroundAtom |
|
private |
◆ d_meshSizeAtAtom
double dftefe::basis::GenerateMesh::d_meshSizeAtAtom |
|
private |
◆ d_mpiDomainCommunicator
const MPI_Comm& dftefe::basis::GenerateMesh::d_mpiDomainCommunicator |
|
private |
◆ d_mpiInterpoolCommunicator
const MPI_Comm& dftefe::basis::GenerateMesh::d_mpiInterpoolCommunicator |
|
private |
◆ d_radiusAroundAtom
double dftefe::basis::GenerateMesh::d_radiusAroundAtom |
|
private |
◆ d_radiusAtAtom
double dftefe::basis::GenerateMesh::d_radiusAtAtom |
|
private |
◆ d_rootCout
◆ d_triaCurrentRefinement
std::vector<std::vector<bool> > dftefe::basis::GenerateMesh::d_triaCurrentRefinement |
|
private |
The documentation for this class was generated from the following files: