1#ifndef included_AMP_PureLogicalMesh
2#define included_AMP_PureLogicalMesh
4#include "AMP/geometry/LogicalGeometry.h"
5#include "AMP/mesh/structured/BoxMesh.h"
43 void displaceMesh( std::shared_ptr<const AMP::LinearAlgebra::Vector> )
override;
46 std::array<AMP::Array<double>, 3>
localCoord()
const override;
47 std::array<AMP::Array<double>, 3>
globalCoord()
const override;
48 std::unique_ptr<Mesh>
clone()
const override;
Class to manage reading/writing restart data.
Structure to uniquely identify an element.
A class used to represent a logically rectangular box mesh.
A class used to abstract away mesh from an application.
Movable
Enumeration for basic mesh-based quantities.
A derived version of BoxMesh for a given geometry.
PureLogicalMesh(std::shared_ptr< const MeshParameters >)
Default constructor.
void coord(const MeshElementIndex &index, double *pos) const override
Return a mesh element's coordinates given it's id.
Mesh::Movable isMeshMovable() const override
Is the mesh movable.
PureLogicalMesh(const PureLogicalMesh &)
Copy constructor.
PureLogicalMesh(int64_t, AMP::IO::RestartManager *)
std::unique_ptr< Mesh > clone() const override
Virtual function to copy the mesh (allows use to proply copy the derived class)
std::string meshClass() const override
Return a string with the mesh class name.
void writeRestart(int64_t) const override
Write restart data to file.
std::array< AMP::Array< double >, 3 > localCoord() const override
Return the vertex coordinates for the local box.
virtual void createBoundingBox() override
PureLogicalMesh & operator=(const PureLogicalMesh &)=delete
Assignment operator.
bool operator==(const Mesh &mesh) const override
Check if two meshes are equal.
void displaceMesh(std::shared_ptr< const AMP::LinearAlgebra::Vector >) override
Displace the entire mesh.
std::array< AMP::Array< double >, 3 > globalCoord() const override
Return the vertex coordinates for the global box.
AMP::Geometry::Point physicalToLogical(const AMP::Geometry::Point &x) const override
Return the logical coordinates.
uint64_t positionHash() const override
Identify if the position has moved.
void displaceMesh(const std::vector< double > &x) override
Displace the entire mesh.