//====================================================================== // Setting filenames //====================================================================== int USERD_set_filenames ( char filename_1[], char filename_2[], char the_path[], int swapbytes ) { #ifdef ENSIGHTDEBUG Info << "Entering: USERD_set_filenames" << endl << flush; #endif char tmp[100]; label lRoot = strlen(the_path); label lCase = strlen(filename_1); bool cleared = false; while (!cleared) { lRoot = strlen(the_path); lCase = strlen(filename_1); // remove the last '/' from rootDir if (the_path[lRoot-1] == '/') { the_path[lRoot-1] = (char)NULL; } else { cleared = true; } } rootDir = the_path; // the path is pre-pended to filename_1 // 1 is the 'Geometry' : 2 the 'Result' which is null here // since two_field is FALSE for (label i=0; iboundaryMesh().size(); // set the number of fields and store their names // a valid field must exist for all time-steps runTime.setTime(TimeList[TimeList.size()-1], TimeList.size()-1); IOobjectList objects(*meshPtr, runTime.timeName()); fieldNames = (const wordList&)objects.names(); // because of the spray being a 'field' ... // get the availabe number of variables and // check for type (scalar/vector/tensor) label nVar = 0; wordList scalars = objects.names(scalarName); for (label n=0; n lagrangian(*meshPtr); n++; if (lagrangian.size()>0) { lagrangianNamesFound = true; } } IOobject sprayHeader ( "positions", runTime.timeName(), "lagrangian", runTime, IOobject::NO_READ, IOobject::NO_WRITE, false ); if (sprayHeader.headerOk()) { Info << "[Found lagrangian]" << endl; delete sprayPtr; sprayPtr = new Cloud(*meshPtr); IOobjectList objects(*meshPtr, runTime.timeName(), "lagrangian"); lagrangianScalarNames = (const wordList&)objects.names(sprayScalarFieldName); lagrangianVectorNames = (const wordList&)objects.names(sprayVectorFieldName); isSpray[fieldNames.size()] = true; nSprayVariables += lagrangianScalarNames.size(); nSprayVariables += lagrangianVectorNames.size(); Num_unstructured_parts++; } Current_time_step = Num_time_steps; runTime.setTime(TimeList[Current_time_step], Current_time_step); Num_variables = nVar + nSprayVariables; // Check if second mesh (region) exist. IOobject ensightReaderDictHeader ( IOobject ( "ensightReaderDict", runTime.constant(), *meshPtr, IOobject::MUST_READ, IOobject::NO_WRITE ) ); word secondRegionName("solid"); if(ensightReaderDictHeader.headerOk()) { IOdictionary ensightReaderDict ( IOobject ( "ensightReaderDict", runTime.constant(), *meshPtr, IOobject::MUST_READ, IOobject::NO_WRITE ) ); if (ensightReaderDict.found("secondRegionName")) { secondRegionName = word ( ensightReaderDict.lookup("secondRegionName") ); } if (ensightReaderDict.found("scalingFactor")) { scalingFactor = readScalar ( ensightReaderDict.lookup("scalingFactor") ); } } objectRegistry secondMeshObjReg ( IOobject ( secondRegionName, runTime.timeName(), runTime, IOobject::MUST_READ ) ); IOobject pointsHeader ( "points", runTime.constant(), polyMesh::meshSubDir, secondMeshObjReg ); if(pointsHeader.headerOk()) { secondMeshPtr = new fvMesh ( IOobject ( secondRegionName, runTime.timeName(), runTime, IOobject::MUST_READ ) ); } if(secondMeshPtr) { Num_unstructured_parts += 1; nSecondMeshPatches = secondMeshPtr->boundaryMesh().size(); IOobjectList secondMeshObjects(*secondMeshPtr, runTime.timeName()); secondMeshFieldNames = (const wordList&)secondMeshObjects.names(); label nVar = 0; wordList scalars = secondMeshObjects.names(scalarName); for (label n=0; ntime().findInstance ( meshPtr->dbDir()/fvMesh::meshSubDir, "boundary" ), faMesh::meshSubDir, *meshPtr, IOobject::MUST_READ, IOobject::NO_WRITE ); if(faMeshBoundaryIOobj.headerOk()) { Info << "\nFound finite area mesh" << endl; faMeshPtr = new faMesh(*meshPtr); } if(faMeshPtr) { Num_unstructured_parts += 1; IOobjectList faMeshObjects(faMeshPtr->time(), runTime.timeName()); faMeshFieldNames = (const wordList&)faMeshObjects.names(); Info << faMeshFieldNames << endl; label nVar = 0; wordList scalars = faMeshObjects.names(faScalarName); for (label n=0; n