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.
UniformRefineDriver.C
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
#include "
Drivers/Refine/UniformRefineDriver.H
"
30
31
#include "
Mesh/meshBase.H
"
32
33
namespace
NEM
{
34
namespace
DRV {
35
36
UniformRefineDriver::Opts::Opts
(
bool
transferData,
double
edgeScale)
37
: transferData(transferData), edgeScale(edgeScale) {}
38
39
UniformRefineDriver::UniformRefineDriver
(
Files
files,
Opts
opts)
40
:
RefineDriver
(
std
::move(files)),
opts_
(opts) {}
41
42
UniformRefineDriver::UniformRefineDriver
()
43
:
UniformRefineDriver
({{}, {}}, {{}, {}}) {}
44
45
const
UniformRefineDriver::Opts
&
UniformRefineDriver::getOpts
()
const
{
46
return
opts_
;
47
}
48
49
void
UniformRefineDriver::setOpts
(
Opts
opts) { this->
opts_
= opts; }
50
51
void
UniformRefineDriver::execute
()
const
{
52
std::shared_ptr<meshBase>
mesh
=
53
meshBase::CreateShared
(this->
files_
.
inputMeshFile
);
54
std::cout <<
"\n"
;
55
mesh->report();
56
std::cout <<
"\n"
;
57
mesh->refineMesh(
Opts::method
, this->
opts_
.
edgeScale
,
58
this->files_.outputMeshFile, this->opts_.transferData);
59
}
60
61
}
// namespace DRV
62
}
// namespace NEM
NEM::DRV::UniformRefineDriver::Opts::Opts
Opts()=default
NEM::DRV::UniformRefineDriver::getOpts
const Opts & getOpts() const
Definition:
UniformRefineDriver.C:45
NEM::DRV::UniformRefineDriver::setOpts
void setOpts(Opts opts)
Definition:
UniformRefineDriver.C:49
NEM::DRV::UniformRefineDriver::execute
void execute() const override
Run the workflow represented by the driver.
Definition:
UniformRefineDriver.C:51
std
STL namespace.
NEM::DRV::RefineDriver
Definition:
RefineDriver.H:40
UniformRefineDriver.H
NEM
Definition:
AutoVerificationDriver.C:38
NEM::DRV::UniformRefineDriver::opts_
Opts opts_
Definition:
UniformRefineDriver.H:61
NEM::DRV::UniformRefineDriver::Opts
Definition:
UniformRefineDriver.H:40
NEM::DRV::DriverInOutFiles
Definition:
NemDriver.H:86
NEM::DRV::DriverInOutFiles::inputMeshFile
std::string inputMeshFile
Definition:
NemDriver.H:90
NEM::DRV::UniformRefineDriver
Definition:
UniformRefineDriver.H:38
mesh
std::shared_ptr< meshBase > mesh
Definition:
RocPartCommGenDriver.C:145
meshBase::CreateShared
static std::shared_ptr< meshBase > CreateShared(const std::string &fname)
Create shared ptr from fname.
Definition:
meshBase.C:171
meshBase.H
NEM::DRV::RefineDriver::files_
Files files_
Definition:
RefineDriver.H:51
NEM::DRV::UniformRefineDriver::Opts::method
static constexpr const char * method
Definition:
UniformRefineDriver.H:45
NEM::DRV::UniformRefineDriver::Opts::edgeScale
double edgeScale
Definition:
UniformRefineDriver.H:44
NEM::DRV::UniformRefineDriver::UniformRefineDriver
UniformRefineDriver()
Definition:
UniformRefineDriver.C:42
src
Drivers
Refine
UniformRefineDriver.C
Generated on Wed Jan 26 2022 16:40:02 for NEMoSys by
1.8.13