NEMoSys
0.63.0
A modular, extensible resource with robust automated mesh generation, mesh quality analysis, adaptive mesh refinement, and data transfer between arbitrary meshes.
PackMeshDriver.H
Go to the documentation of this file.
1
/*******************************************************************************
2
* Promesh *
3
* Copyright (C) 2022, IllinoisRocstar LLC. All rights reserved. *
4
* *
5
* Promesh is the property of IllinoisRocstar LLC. *
6
* *
7
* IllinoisRocstar LLC *
8
* Champaign, IL *
9
* www.illinoisrocstar.com *
10
* promesh@illinoisrocstar.com *
11
*******************************************************************************/
12
/*******************************************************************************
13
* This file is part of Promesh *
14
* *
15
* This version of Promesh is free software: you can redistribute it and/or *
16
* modify it under the terms of the GNU Lesser General Public License as *
17
* published by the Free Software Foundation, either version 3 of the License, *
18
* or (at your option) any later version. *
19
* *
20
* Promesh is distributed in the hope that it will be useful, but WITHOUT ANY *
21
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS *
22
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more *
23
* details. *
24
* *
25
* You should have received a copy of the GNU Lesser General Public License *
26
* along with this program. If not, see <https://www.gnu.org/licenses/>. *
27
* *
28
*******************************************************************************/
29
#ifndef NEMOSYS_PACKMESHDRIVER_H_
30
#define NEMOSYS_PACKMESHDRIVER_H_
31
32
#include "
Drivers/NemDriver.H
"
33
34
//* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *//
35
36
namespace
NEM
{
37
namespace
DRV {
38
39
/**
40
@brief This class drives the flow of pack meshing by using parameters provided
41
by users. It supports two different meshing pipelines. First being hexahedral
42
conformal meshing and second is tetrahedral periodic as well as non-priodic
43
meshing.
44
45
Tetrahedral periodic meshing pipeline operates within rocPack class and uses
46
Netgen mesh optimization for final mesh quality improvement if needed.
47
## Pack Meshing Workflow for Tetrahedral Mesh
48
> * Geometry generation using RocPack output file.
49
> * Enforcing periodicity in geometry for periodic mesh
50
> * Mapping periodic surfaces and points with their counterparts.
51
> * Meshing the geometry tetrahedrally while enforcing periodic boundary
52
boundary conditions.
53
> * Exporting final mesh with or without optimization.
54
55
**/
56
class
NEMOSYS_EXPORT
PackMeshDriver
:
public
NemDriver
{
57
JSONCONS_TYPE_TRAITS_FRIEND
58
protected
:
59
PackMeshDriver
() =
default
;
60
61
private
:
62
static
constexpr
const
char
*
programType
=
"Pack Mesh Generation"
;
63
jsoncons::string_view getProgramType()
const override
;
64
};
65
66
}
// namespace DRV
67
}
// namespace NEM
68
69
#endif // NEMOSYS_PACKMESHDRIVER_H_
NEM::DRV::NemDriver
base class for drivers
Definition:
NemDriver.H:46
NEM::DRV::PackMeshDriver
This class drives the flow of pack meshing by using parameters provided by users. ...
Definition:
PackMeshDriver.H:56
NEM
Definition:
AutoVerificationDriver.C:38
NemDriver.H
NEM::DRV::JSON::programType
static constexpr auto programType
Definition:
DriverJsonTypeTraits.H:84
include
Drivers
PackMesh
PackMeshDriver.H
Generated on Wed Jan 26 2022 16:40:02 for NEMoSys by
1.8.13