OGS
postLIE.cpp File Reference
#include <tclap/CmdLine.h>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <map>
#include <memory>
#include <vector>
#include "BaseLib/FileTools.h"
#include "BaseLib/Logging.h"
#include "BaseLib/MPI.h"
#include "BaseLib/TCLAPArguments.h"
#include "InfoLib/GitInfo.h"
#include "MeshLib/IO/readMeshFromFile.h"
#include "MeshLib/IO/writeMeshToFile.h"
#include "MeshLib/Mesh.h"
#include "MeshToolsLib/MeshEditing/ConvertToLinearMesh.h"
#include "ProcessLib/LIE/Common/MeshUtils.h"
#include "ProcessLib/LIE/Common/PostUtils.h"
Include dependency graph for postLIE.cpp:

Go to the source code of this file.

Namespaces

namespace  anonymous_namespace{postLIE.cpp}

Functions

void anonymous_namespace{postLIE.cpp}::postVTU (std::string const &int_vtu_filename, std::string const &out_vtu_filename)
void anonymous_namespace{postLIE.cpp}::postPVD (std::string const &in_pvd_filename, std::string const &out_pvd_filename, bool const allow_overwrite)
int main (int argc, char *argv[])

Function Documentation

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 125 of file postLIE.cpp.

126{
127 TCLAP::CmdLine cmd(
128 "Post-process results of the LIE approach.\n\n"
129 "OpenGeoSys-6 software, version " +
131 ".\n"
132 "Copyright (c) 2012-2026, OpenGeoSys Community "
133 "(http://www.opengeosys.org)",
135 TCLAP::ValueArg<std::string> arg_out_file(
136 "o", "output-file",
137 "Output (.vtu | .pvd). The name of the new PVD or VTU file", true, "",
138 "OUTPUT_PATH");
139 cmd.add(arg_out_file);
140 TCLAP::ValueArg<std::string> arg_in_file(
141 "i", "input-file",
142 "Input (.vtu | .pvd). The original PVD or VTU file name", true, "",
143 "INPUT_FILE");
144 cmd.add(arg_in_file);
145 TCLAP::SwitchArg nooverwrite_arg(
146 "",
147 "no-overwrite",
148 "don't overwrite existing post processed VTU files");
149 cmd.add(nooverwrite_arg);
150 auto log_level_arg = BaseLib::makeLogLevelArg();
151 cmd.add(log_level_arg);
152
153 cmd.parse(argc, argv);
154
155 BaseLib::MPI::Setup mpi_setup(argc, argv);
156 BaseLib::initOGSLogger(log_level_arg.getValue());
157
158 auto const in_file_ext = BaseLib::getFileExtension(arg_in_file.getValue());
159 if (in_file_ext == ".pvd")
160 {
161 postPVD(arg_in_file.getValue(), arg_out_file.getValue(),
162 !nooverwrite_arg.getValue());
163 }
164 else if (in_file_ext == ".vtu")
165 {
166 postVTU(arg_in_file.getValue(), arg_out_file.getValue());
167 }
168 else
169 {
170 OGS_FATAL("The given file type ({:s}) is not supported.", in_file_ext);
171 }
172
173 return EXIT_SUCCESS;
174}
#define OGS_FATAL(...)
Definition Error.h:19
TCLAP::ValueArg< std::string > makeLogLevelArg()
void initOGSLogger(std::string const &log_level)
Definition Logging.cpp:56
std::string getFileExtension(const std::string &path)
GITINFOLIB_EXPORT const std::string ogs_version
void postVTU(std::string const &int_vtu_filename, std::string const &out_vtu_filename)
Definition postLIE.cpp:26
void postPVD(std::string const &in_pvd_filename, std::string const &out_pvd_filename, bool const allow_overwrite)
Definition postLIE.cpp:68

References BaseLib::getFileExtension(), BaseLib::initOGSLogger(), BaseLib::makeLogLevelArg(), OGS_FATAL, GitInfoLib::GitInfo::ogs_version, anonymous_namespace{postLIE.cpp}::postPVD(), and anonymous_namespace{postLIE.cpp}::postVTU().