GEOS
ExternalMeshGeneratorBase.hpp
Go to the documentation of this file.
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 
20 #ifndef GEOS_MESH_GENERATORS_EXTERNALMESHGENERATORBASE_HPP
21 #define GEOS_MESH_GENERATORS_EXTERNALMESHGENERATORBASE_HPP
22 
24 
25 namespace geos
26 {
27 
32 {
33 public:
34 
40  ExternalMeshGeneratorBase( const string & name,
41  Group * const parent );
42 
43 protected:
44 
46  struct viewKeyStruct
47  {
48  constexpr static char const * filePathString() { return "file"; }
49  constexpr static char const * scaleString() { return "scale"; }
50  constexpr static char const * translateString() { return "translate"; }
51  constexpr static char const * volumicFieldsToImportString() { return "fieldsToImport"; }
52  constexpr static char const * volumicFieldsInGEOSString() { return "fieldNamesInGEOS"; }
53  constexpr static char const * surfacicFieldsToImportString() { return "surfacicFieldsToImport"; }
54  constexpr static char const * surfacicFieldsInGEOSString() { return "surfacicFieldsInGEOS"; }
55  };
57 
58  void postInputInitialization() override;
59 
62 
65 
68 
71 
74 
77 
80 };
81 
82 } // namespace geos
83 
84 #endif //GEOS_MESH_GENERATORS_EXTERNALMESHGENERATORBASE_HPP
Base class for external mesh generators (importers).
ExternalMeshGeneratorBase(const string &name, Group *const parent)
Constructor.
array1d< string > m_surfacicFieldsInGEOS
String array of the GEOS user declared surfacic fields.
array1d< string > m_volumicFieldsToImport
Names of the fields to be copied from an external reader into GEOS data structure.
void postInputInitialization() override
array1d< string > m_volumicFieldsInGEOS
String array of the GEOS user declared volumic fields.
R1Tensor m_scale
Scale factor that will be applied to the point coordinates (after translation)
array1d< string > m_surfacicFieldsToImport
Names of the surfacic fields to be copied from an external reader into GEOS data structure.
R1Tensor m_translate
Translation vector that will be applied to the point coordinates (prior to scaling)
The MeshGeneratorBase class provides an abstract base class implementation for different mesh types....
Class describing a file Path.
Definition: Path.hpp:33
constexpr char const filePathString[]
constexpr variable to hold name for inserting the file path into the xml file.
Definition: xmlWrapper.hpp:276
Array< T, 1 > array1d
Alias for 1D array.
Definition: DataTypes.hpp:176
Structure to hold scoped key names.
Definition: Group.hpp:1442