diff --git a/Applications/Utils/SimpleMeshCreation/generateStructuredMesh.cpp b/Applications/Utils/SimpleMeshCreation/generateStructuredMesh.cpp index cdc7ce9fbd99be84da828bf881a844d93771a8e3..6832c83dcb47fbbbccfd05b28d6b943cdafec9b5 100644 --- a/Applications/Utils/SimpleMeshCreation/generateStructuredMesh.cpp +++ b/Applications/Utils/SimpleMeshCreation/generateStructuredMesh.cpp @@ -16,6 +16,7 @@ #include "Applications/ApplicationsLib/LogogSetup.h" #include "BaseLib/BuildInfo.h" +#include "BaseLib/Error.h" #include "BaseLib/Subdivision.h" #include "BaseLib/TCLAPCustomOutput.h" @@ -179,17 +180,26 @@ int main (int argc, char* argv[]) vec_div.reserve(dim); for (unsigned i=0; i<dim; i++) { - if (vec_ndivArg[i]->isSet()) - { + if (vec_multiArg[i]->isSet()) { + if (vec_ndivArg[i]->isSet()) { + // number of partitions in direction is specified + vec_d0Arg[i]->isSet() && + OGS_FATAL( + "Specifying all of --m?, --d?0 and --n? for coordinate " + "\"?\" is not supported."); + vec_div.emplace_back(new BaseLib::GradualSubdivisionFixedNum( + length[i], vec_ndivArg[i]->getValue(), + vec_multiArg[i]->getValue())); + + } else { + vec_div.emplace_back(new BaseLib::GradualSubdivision( + length[i], vec_d0Arg[i]->getValue(), + vec_dMaxArg[i]->getValue(), vec_multiArg[i]->getValue())); + } + } else { vec_div.emplace_back( new BaseLib::UniformSubdivision(length[i], n_subdivision[i])); } - else - { - vec_div.emplace_back(new BaseLib::GradualSubdivision( - length[i], vec_d0Arg[i]->getValue(), vec_dMaxArg[i]->getValue(), - vec_multiArg[i]->getValue())); - } } // generate a mesh