19#ifndef meshMovement_H_
20#define meshMovement_H_
41 const MPI_Comm &mpi_comm_domain,
57 init(dealii::Triangulation<3, 3> &triangulation,
58 dealii::Triangulation<3, 3> &serialTriangulation,
59 const std::vector<std::vector<double>> &domainBoundingVectors);
67 initMoved(
const std::vector<std::vector<double>> &domainBoundingVectors);
81 const std::vector<dealii::Point<3>> &destinationPoints,
82 std::vector<dealii::Point<3>> &closestTriaVertexToDestPointsLocation,
83 std::vector<dealii::Tensor<1, 3, double>>
84 &dispClosestTriaVerticesToDestPoints);
107 std::pair<bool, double>
121 dealii::parallel::distributed::Triangulation<3> *
d_triaPtr;
126 std::vector<dealii::GridTools::PeriodicFacePair<
127 typename dealii::DoFHandler<3>::cell_iterator>>
Namespace which declares the input parameters and the functions to parse them from the input paramete...
Definition dftParameters.h:36
MPI_Comm mpi_communicator
Definition meshMovement.h:135
std::vector< std::vector< double > > d_domainBoundingVectors
Definition meshMovement.h:129
dealii::AffineConstraints< double > d_constraintsMoveMesh
Definition meshMovement.h:125
distributedCPUVec< double > d_incrementalDisplacement
vector of displacements of the triangulation vertices
Definition meshMovement.h:114
dealii::FESystem< 3 > FEMoveMesh
Definition meshMovement.h:119
meshMovementClass(const MPI_Comm &mpi_comm_parent, const MPI_Comm &mpi_comm_domain, const dftParameters &dftParams)
Constructor.
void initMoved(const std::vector< std::vector< double > > &domainBoundingVectors)
Re-initializes the required data-structures for a given triangulation.
dealii::IndexSet d_locally_relevant_dofs
Definition meshMovement.h:124
void findClosestVerticesToDestinationPoints(const std::vector< dealii::Point< 3 > > &destinationPoints, std::vector< dealii::Point< 3 > > &closestTriaVertexToDestPointsLocation, std::vector< dealii::Tensor< 1, 3, double > > &dispClosestTriaVerticesToDestPoints)
Finds the closest triangulation vertices to a given vector of position coordinates.
void updateTriangulationVertices()
Function which updates the locally relevant triangulation vertices.
std::pair< bool, double > movedMeshCheck()
void init(dealii::Triangulation< 3, 3 > &triangulation, dealii::Triangulation< 3, 3 > &serialTriangulation, const std::vector< std::vector< double > > &domainBoundingVectors)
Initializes the required data-structures for a given triangulation.
dealii::ConditionalOStream pcout
Definition meshMovement.h:137
dealii::IndexSet d_locally_owned_dofs
Definition meshMovement.h:123
void moveSubdividedMesh()
Function which moves subdivided mesh.
std::vector< dealii::GridTools::PeriodicFacePair< typename dealii::DoFHandler< 3 >::cell_iterator > > d_periodicity_vector
Definition meshMovement.h:128
void finalizeIncrementField()
void initIncrementField()
Initializes the parallel layout of d_incrementalDisplacementParallel.
dealii::DoFHandler< 3 > d_dofHandlerMoveMesh
Definition meshMovement.h:120
virtual ~meshMovementClass()
Definition meshMovement.h:44
bool d_isParallelMesh
Definition meshMovement.h:116
const dftfe::uInt this_mpi_process
Definition meshMovement.h:136
dealii::parallel::distributed::Triangulation< 3 > * d_triaPtr
Definition meshMovement.h:121
MPI_Comm d_mpiCommParent
Definition meshMovement.h:134
const dftParameters & d_dftParams
Definition meshMovement.h:131
dealii::Triangulation< 3, 3 > * d_triaPtrSerial
Definition meshMovement.h:122
Definition pseudoPotentialToDftfeConverter.cc:34
dealii::LinearAlgebra::distributed::Vector< elem_type, dealii::MemorySpace::Host > distributedCPUVec
Definition headers.h:92
std::uint32_t uInt
Definition TypeConfig.h:10