#include <SALOME_NamingService.hxx>
#include <Utils_SALOME_Exception.hxx>
+#include "Utils_CorbaException.hxx"
#include <utilities.h>
#include <iostream>
}
else
{
- std::cout << "\nThe file " + fileName + " does not exist.\n" << std::endl;
-// SALOME::ExceptionStruct es;
-// es.type = SALOME::BAD_PARAM;
-// std::string text = "\nThe file " + fileName + " does not exist.\n" ;
-// std::cout << text << std::endl;
-// es.text = "The mesh file does not exist.";
-// es.text = CORBA::string_dup(text.c_str());
-// throw SALOME::SALOME_Exception(es);
- throw SALOME_Exception(("The file " + fileName + " does not exist." ).c_str() );
+ SALOME::ExceptionStruct es;
+ es.type = SALOME::BAD_PARAM;
+ std::string text = "\nThe file " + fileName + " does not exist.\n" ;
+ es.text = CORBA::string_dup(text.c_str());
+ throw SALOME::SALOME_Exception(es);
}
}
}
else
{
- std::cout << "\nThe file " + mapFile + " does not exist.\n" << std::endl;
- throw SALOME_Exception(("The file " + mapFile + " does not exist." ).c_str() );
+ SALOME::ExceptionStruct es;
+ es.type = SALOME::BAD_PARAM;
+ std::string text = "\nThe file " + mapFile + " does not exist.\n" ;
+ es.text = CORBA::string_dup(text.c_str());
+ throw SALOME::SALOME_Exception(es);
}
}
std::string MgAdapt::getSizeMapFile()
data->myVerboseLevel = from->myVerboseLevel;
}
+bool MgAdapt::checkTimeStepRank(std::string fileIn)
+{
+ INFOS("checkTimeStepRank");
+ bool ret = false ;
+ MEDCoupling::MCAuto<MEDCoupling::MEDFileData> mfd = MEDCoupling::MEDFileData::New(fileIn);
+ MEDCoupling::MCAuto<MEDCoupling::MEDFileAnyTypeFieldMultiTS> fts = dynamic_cast<MEDCoupling::MEDFileFieldMultiTS *>( mfd->getFields()->getFieldWithName(fieldName) );
+// std::cout << "--- timeStep " << timeStep << std::endl;
+// std::cout << "--- rank " << rank << std::endl;
+ std::vector<double> timevalue;
+ std::vector< std::pair<int,int> > timesteprank = fts->getTimeSteps(timevalue);
+ std::size_t jaux(timesteprank.size());
+ for(std::size_t j=0;j<jaux;j++)
+ {
+// std::cout << "--- l[j]first " << timesteprank[j].first << std::endl;
+// std::cout << "--- l[j]second " << timesteprank[j].second << std::endl;
+ if ( ( timeStep == timesteprank[j].first ) & ( rank == timesteprank[j].second ) )
+ {
+ ret = true ;
+ }
+ }
+ if ( ! ret )
+ {
+ std::cout << "Available (Time step, Rank) :" << std::endl;
+ for(std::size_t j=0;j<jaux;j++)
+ { std::cout << "(Time step = " << timesteprank[j].first << ", Rank = " << timesteprank[j].second << ")" << std::endl;}
+ SALOME::ExceptionStruct es;
+ es.type = SALOME::BAD_PARAM;
+ std::string text = "(Time step = " + std::to_string(timeStep) + ", Rank = " + std::to_string(rank) + ") is not found." ;
+ es.text = CORBA::string_dup(text.c_str());
+ throw SALOME::SALOME_Exception(es);
+ }
+ return ret ;
+}
void MgAdapt::convertMedFile(std::string& meshFormatMeshFileName, std::string& solFormatFieldFileName, std::string& meshFormatsizeMapFile)
{
if (useBackgroundMap)
{
+ bool ret = checkTimeStepRank(sizeMapFile) ;
meshFormatsizeMapFile = getFileName();
meshFormatsizeMapFile += ".mesh";
buildBackGroundMeshAndSolFiles(fieldFileNames, meshFormatsizeMapFile);
}
else if(useLocalMap)
{
+ bool ret = checkTimeStepRank(medFileIn) ;
MEDCoupling::MCAuto<MEDCoupling::MEDFileAnyTypeFieldMultiTS> fts = dynamic_cast<MEDCoupling::MEDFileFieldMultiTS *>( mfd->getFields()->getFieldWithName(fieldName) );
MEDCoupling::MCAuto<MEDCoupling::MEDFileAnyTypeField1TS> f = fts->getTimeStep(timeStep, rank);
MEDCoupling::MCAuto<MEDCoupling::MEDFileFieldMultiTS> tmFts = MEDCoupling::MEDFileFieldMultiTS::New();
{
SALOME::ExceptionStruct es;
es.type = SALOME::BAD_PARAM;
- std::string text = "The med file " + aFile + " cannot be opened." ;
-// es.text = "The mesh file does not exist.";
+ std::string text = "\nThe med file " + aFile + " cannot be opened.\n" ;
es.text = CORBA::string_dup(text.c_str());
throw SALOME::SALOME_Exception(es);
- return 0;
}
return medIdt;
}
chosenTimeStep = new QRadioButton(tr("MG_ADAPT_CH_ST"), sizeMapField);
timeStepLabel = new QLabel(tr("MG_ADAPT_TSTP"), sizeMapField);
timeStep = new QSpinBox(sizeMapField);
- //~timeStep->setMinimum(-1);
+ timeStep->setMinimum(-1);
rankLabel = new QLabel(tr("MG_ADAPT_RANK"), sizeMapField);
rankSpinBox = new QSpinBox(sizeMapField);
rankSpinBox->setMinimum(-1);
chosenTimeStep->setChecked(true);
visibleTimeStepRankLabel (true);
- rankSpinBox->setValue(0);
- timeStep->setValue(0);
+ rankSpinBox->setValue(-1);
+ timeStep->setValue(-1);
if (vmax) timeStep->setMaximum(vmax);
}