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 121 of file postLIE.cpp.

122{
123 TCLAP::CmdLine cmd(
124 "Post-process results of the LIE approach.\n\n"
125 "OpenGeoSys-6 software, version " +
127 ".\n"
128 "Copyright (c) 2012-2026, OpenGeoSys Community "
129 "(http://www.opengeosys.org)",
131 TCLAP::ValueArg<std::string> arg_out_file(
132 "o", "output-file",
133 "Output (.vtu | .pvd). The name of the new PVD or VTU file", true, "",
134 "OUTPUT_PATH");
135 cmd.add(arg_out_file);
136 TCLAP::ValueArg<std::string> arg_in_file(
137 "i", "input-file",
138 "Input (.vtu | .pvd). The original PVD or VTU file name", true, "",
139 "INPUT_FILE");
140 cmd.add(arg_in_file);
141 TCLAP::SwitchArg nooverwrite_arg(
142 "",
143 "no-overwrite",
144 "don't overwrite existing post processed VTU files");
145 cmd.add(nooverwrite_arg);
146 auto log_level_arg = BaseLib::makeLogLevelArg();
147 cmd.add(log_level_arg);
148
149 cmd.parse(argc, argv);
150
151 BaseLib::MPI::Setup mpi_setup(argc, argv);
152 BaseLib::initOGSLogger(log_level_arg.getValue());
153
154 auto const in_file_ext = BaseLib::getFileExtension(arg_in_file.getValue());
155 if (in_file_ext == ".pvd")
156 {
157 postPVD(arg_in_file.getValue(), arg_out_file.getValue(),
158 !nooverwrite_arg.getValue());
159 }
160 else if (in_file_ext == ".vtu")
161 {
162 postVTU(arg_in_file.getValue(), arg_out_file.getValue());
163 }
164 else
165 {
166 OGS_FATAL("The given file type ({:s}) is not supported.", in_file_ext);
167 }
168
169 return EXIT_SUCCESS;
170}
#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:64

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