Advanced Multi-Physics (AMP)
On-Line Documentation
StructuredGeometryMesh.h
Go to the documentation of this file.
1#ifndef included_AMP_StructuredGeometryMesh
2#define included_AMP_StructuredGeometryMesh
3
4#include "AMP/geometry/LogicalGeometry.h"
5#include "AMP/mesh/structured/BoxMesh.h"
6
7#include <array>
8#include <vector>
9
10
11namespace AMP::Mesh {
12
13
22{
23public:
25 explicit StructuredGeometryMesh( std::shared_ptr<const MeshParameters> );
26
28 explicit StructuredGeometryMesh( std::shared_ptr<AMP::Geometry::LogicalGeometry>,
29 const ArraySize &size,
30 const AMP::AMP_MPI &comm );
31
34
37
39 std::string meshClass() const override;
40
42 bool operator==( const Mesh &mesh ) const override;
43
44public: // Functions derived from BoxMesh
45 Mesh::Movable isMeshMovable() const override;
46 uint64_t positionHash() const override;
47 void displaceMesh( const std::vector<double> &x ) override;
48 void displaceMesh( std::shared_ptr<const AMP::LinearAlgebra::Vector> ) override;
50 void coord( const MeshElementIndex &index, double *pos ) const override;
51 std::array<AMP::Array<double>, 3> localCoord() const override;
52 std::array<AMP::Array<double>, 3> globalCoord() const override;
53 std::unique_ptr<Mesh> clone() const override;
54
55public: // Restart functions
56 void writeRestart( int64_t ) const override;
58
59private:
60 uint32_t d_pos_hash = 0;
61 std::shared_ptr<AMP::Geometry::LogicalGeometry> d_geometry2;
62};
63
64
65} // namespace AMP::Mesh
66
67
68#endif
Provides C++ wrapper around MPI routines.
Definition AMP_MPI.h:63
Simple class to store the array dimensions.
Definition ArraySize.h:138
Class to manage reading/writing restart data.
Structure to uniquely identify an element.
Definition BoxMesh.h:109
A class used to represent a logically rectangular box mesh.
Definition BoxMesh.h:71
ArraySize size() const
Return the size of the mesh.
A class used to abstract away mesh from an application.
Definition Mesh.h:57
Movable
Enumeration for basic mesh-based quantities.
Definition Mesh.h:73
A derived version of BoxMesh for a given geometry.
void displaceMesh(const std::vector< double > &x) override
Displace the entire mesh.
AMP::Geometry::Point physicalToLogical(const AMP::Geometry::Point &x) const override
Return the logical coordinates.
StructuredGeometryMesh(int64_t, AMP::IO::RestartManager *)
StructuredGeometryMesh & operator=(const StructuredGeometryMesh &)=delete
Assignment operator.
uint64_t positionHash() const override
Identify if the position has moved.
StructuredGeometryMesh(std::shared_ptr< AMP::Geometry::LogicalGeometry >, const ArraySize &size, const AMP::AMP_MPI &comm)
Create from a geometry.
void coord(const MeshElementIndex &index, double *pos) const override
Return a mesh element's coordinates given it's id.
std::array< AMP::Array< double >, 3 > localCoord() const override
Return the vertex coordinates for the local box.
StructuredGeometryMesh(std::shared_ptr< const MeshParameters >)
Default constructor.
Mesh::Movable isMeshMovable() const override
Is the mesh movable.
void writeRestart(int64_t) const override
Write restart data to file.
bool operator==(const Mesh &mesh) const override
Check if two meshes are equal.
std::array< AMP::Array< double >, 3 > globalCoord() const override
Return the vertex coordinates for the global box.
void displaceMesh(std::shared_ptr< const AMP::LinearAlgebra::Vector >) override
Displace the entire mesh.
std::string meshClass() const override
Return a string with the mesh class name.
std::unique_ptr< Mesh > clone() const override
Virtual function to copy the mesh (allows use to proply copy the derived class)
StructuredGeometryMesh(const StructuredGeometryMesh &)
Copy constructor.
std::shared_ptr< AMP::Geometry::LogicalGeometry > d_geometry2



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:40.
Comments on this page