GEOSX
ParticleRegion.hpp
Go to the documentation of this file.
1 /*
2  * ------------------------------------------------------------------------------------------------------------
3  * SPDX-License-Identifier: LGPL-2.1-only
4  *
5  * Copyright (c) 2018-2020 Lawrence Livermore National Security LLC
6  * Copyright (c) 2018-2020 The Board of Trustees of the Leland Stanford Junior University
7  * Copyright (c) 2018-2020 TotalEnergies
8  * Copyright (c) 2019- GEOSX Contributors
9  * All rights reserved
10  *
11  * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
12  * ------------------------------------------------------------------------------------------------------------
13  */
14 
20 #ifndef GEOSX_MESH_PARTICLEREGION_HPP_
21 #define GEOSX_MESH_PARTICLEREGION_HPP_
22 
23 #include "ParticleRegionBase.hpp"
24 
25 namespace geos
26 {
36 {
37 public:
38 
43 
44 
50  ParticleRegion( string const & name, Group * const parent );
51 
55  ParticleRegion() = delete;
56 
60  virtual ~ParticleRegion() override;
61 
66 
71  static string catalogName()
72  { return "ParticleRegion"; }
73 
77  virtual string getCatalogName() const override final
78  { return ParticleRegion::catalogName(); }
79 
81 
86 
91  void addParticleBlockName( string const & particleBlockName )
92  {
93  m_particleBlockNames.emplace_back( particleBlockName );
94  }
95 
101  {
102  return m_particleBlockNames;
103  }
104 
105  virtual void generateMesh( Group & particleBlocks ) override;
106 
108 
114 
120  {
122  static constexpr char const * sourceParticleBlockNamesString() {return "particleBlocks"; }
123  };
124 
125 
126 private:
127 
128  // Cell block names
129  string_array m_particleBlockNames;
130 
131 };
132 
133 } /* namespace geos */
134 
135 #endif /* GEOSX_MESH_PARTICLEREGION_HPP_ */
The ParticleRegionBase is the base class to manage the data stored at the particle level.
ParticleRegion(string const &name, Group *const parent)
Constructor.
virtual string getCatalogName() const override final
The key name for the FaceElementRegion in the object catalog.
virtual ~ParticleRegion() override
Destructor.
ParticleRegion()=delete
Deleted default constructor.
virtual void generateMesh(Group &particleBlocks) override
Generate mesh.
array2d< real64 > getParticleCorners() const
Calculate and return the locations of all particle corners.
void addParticleBlockName(string const &particleBlockName)
Add a particleBlockRegion name to the list.
static string catalogName()
The key name for the FaceElementRegion in the object catalog.
string_array getParticleBlockNames()
Get the list of particleBlock names.
Array< T, 2, PERMUTATION > array2d
Alias for 2D array.
Definition: DataTypes.hpp:232
array1d< string > string_array
A 1-dimensional array of geos::string types.
Definition: DataTypes.hpp:432
A struct to serve as a container for variable strings and keys.
static constexpr char const * sourceParticleBlockNamesString()
Struct to serve as a container for variable strings and keys.