GEOS
ParticleSubRegion.hpp
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2024 TotalEnergies
7  * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
8  * Copyright (c) 2023-2024 Chevron
9  * Copyright (c) 2019- GEOS/GEOSX Contributors
10  * All rights reserved
11  *
12  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
13  * ------------------------------------------------------------------------------------------------------------
14  */
15 
16 
17 #ifndef GEOS_MESH_PARTICLEELEMENTSUBREGION_HPP_
18 #define GEOS_MESH_PARTICLEELEMENTSUBREGION_HPP_
19 
20 #include "mesh/generators/ParticleBlockABC.hpp"
23 
24 
25 namespace geos
26 {
27 
28 class MeshLevel;
29 
36 {
37 public:
38 
43  static string catalogName()
44  { return "ParticleSubRegion"; }
45 
49  virtual string getCatalogName() const override final
50  { return ParticleSubRegion::catalogName(); }
51 
56 
62  ParticleSubRegion( string const & name, Group * const parent );
63 
67  virtual ~ParticleSubRegion() override;
68 
70 
75 
80  void setParticleRank( int const rank );
81 
86  void copyFromParticleBlock( ParticleBlockABC & particleBlock );
87 
89 
95  {
96  // Left blank
97  }
100 
101  virtual viewKeyStruct & viewKeys() override { return m_ParticleBlockSubRegionViewKeys; }
102  virtual viewKeyStruct const & viewKeys() const override { return m_ParticleBlockSubRegionViewKeys; }
103 
104 private:
105 
107  string_array m_externalPropertyNames;
108 
109 };
110 
111 } /* namespace geos */
112 
113 #endif /* GEOS_MESH_CELLELEMENTSUBREGION_HPP_ */
virtual viewKeyStruct const & viewKeys() const override
Get the view keys for Group access, const version.
virtual viewKeyStruct & viewKeys() override
Get the view keys for Group access.
virtual string getCatalogName() const override final
Const getter for the catalog name.
static string catalogName()
Const getter for the catalog name.
void copyFromParticleBlock(ParticleBlockABC &particleBlock)
Fill the ParticleSubRegion by copying those of the source ParticleBlock.
virtual ~ParticleSubRegion() override
Destructor.
geos::ParticleSubRegion::viewKeyStruct m_ParticleBlockSubRegionViewKeys
viewKey struct for the ParticleSubRegion class
void setParticleRank(int const rank)
Set the ghost rank of particles in this subregion.
ParticleSubRegion(string const &name, Group *const parent)
Constructor for this class.
stdVector< string > string_array
A 1-dimensional array of geos::string types.
Definition: DataTypes.hpp:361
struct to serve as a container for variable strings and keys
A struct to serve as a container for variable strings and keys.