-// Copyright (C) 2011-2013 CEA/DEN, EDF R&D
+// Copyright (C) 2011-2021 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
os << cas.GetName();
os << separator() << cas.GetDirName();
os << separator() << cas.GetConfType();
+ os << separator() << cas.GetExtType();
std::vector<double> coor = cas.GetBoundingBox();
os << separator() << coor.size();
for ( it = ListString.begin(); it != ListString.end(); ++it )
os << separator() << *it;
- ListString = hypothesis.GetListComp();
+ ListString = hypothesis.GetComps();
os << separator() << ListString.size();
for ( it = ListString.begin(); it != ListString.end(); ++it )
os << separator() << *it;
for ( it = ListString.begin(); it != ListString.end(); ++it )
os << separator() << *it;
- ListString = hypothesis.GetListFieldInterp();
+ ListString = hypothesis.GetFieldInterps();
os << separator() << ListString.size();
for ( it = ListString.begin(); it != ListString.end(); ++it )
os << separator() << *it;
os << separator() << hypothesis.GetNivMax();
os << separator() << hypothesis.GetDiamMin();
os << separator() << hypothesis.GetAdapInit();
- os << separator() << hypothesis.GetLevelOutput();
+ os << separator() << hypothesis.GetExtraOutput();
saux = os.str();
// MESSAGE( ". Fin avec "<<saux);
os << separator() << BoundaryType ;
os << separator() << boundary.GetCaseCreation() ;
- if ( BoundaryType == 0 )
+ if ( BoundaryType == -1 )
+ {
+ os << separator() << boundary.GetDataFile();
+ }
+ else if ( BoundaryType == 0 )
{
os << separator() << boundary.GetMeshName();
- os << separator() << boundary.GetMeshFile();
+ os << separator() << boundary.GetDataFile();
}
else {
std::vector<double> coor = boundary.GetCoords() ;
if ( !ok ) return false;
cas.SetConfType( atoi( chunk.c_str() ) );
+ chunk = getNextChunk( stream, start, ok );
+ if ( !ok ) return false;
+ cas.SetExtType( atoi( chunk.c_str() ) );
+
chunk = getNextChunk( stream, start, ok );
if ( !ok ) return false;
for ( int i = 0; i < size; i++ ) {
chunk = getNextChunk( stream, start, ok );
if ( !ok ) return false;
- hypothesis.AddFieldInterp( chunk.c_str() );
+ i++;
+ chunkNext = getNextChunk( stream, start, ok );
+ int TypeInterp = atoi( chunkNext.c_str() );
+ if ( !ok ) return false;
+ hypothesis.AddFieldInterpType( chunk.c_str(), TypeInterp );
}
chunk = getNextChunk( stream, start, ok );
chunk = getNextChunk( stream, start, ok );
if ( !ok ) return false;
- hypothesis.SetLevelOutput( strtod( chunk.c_str(), 0 ) );
+ hypothesis.SetExtraOutput( strtod( chunk.c_str(), 0 ) );
return true;
}
// Les coordonnees des zones : le nombre depend du type
std::vector<double> coords;
int lgcoords ;
- if ( ZoneType == 2 or ( ZoneType >= 11 and ZoneType <= 13 ) ) { lgcoords = 6 ; }
+ if ( ZoneType == 2 || ( ZoneType >= 11 && ZoneType <= 13 ) ) { lgcoords = 6 ; }
else if ( ZoneType == 4 ) { lgcoords = 4 ; }
- else if ( ZoneType == 5 or ( ZoneType >= 31 and ZoneType <= 33 ) ) { lgcoords = 8 ; }
- else if ( ZoneType == 7 or ( ZoneType >= 61 and ZoneType <= 63 ) ) { lgcoords = 9 ; }
+ else if ( ZoneType == 5 || ( ZoneType >= 31 && ZoneType <= 33 ) ) { lgcoords = 8 ; }
+ else if ( ZoneType == 7 || ( ZoneType >= 61 && ZoneType <= 63 ) ) { lgcoords = 9 ; }
else return false;
coords.resize( lgcoords );
for ( int i = 0; i < lgcoords; i++ ) {
if ( !ok ) return false;
coords[i] = strtod( chunk.c_str(), 0 );
}
- if ( ZoneType == 2 or ( ZoneType >= 11 and ZoneType <= 13 ) )
+ if ( ZoneType == 2 || ( ZoneType >= 11 && ZoneType <= 13 ) )
{ zone.SetBox( coords[0], coords[1], coords[2], coords[3], coords[4], coords[5] ); }
else if ( ZoneType == 4 )
{ zone.SetSphere( coords[0], coords[1], coords[2], coords[3] ); }
- else if ( ZoneType == 5 or ( ZoneType >= 31 and ZoneType <= 33 ) )
+ else if ( ZoneType == 5 || ( ZoneType >= 31 && ZoneType <= 33 ) )
{ zone.SetCylinder( coords[0], coords[1], coords[2], coords[3], coords[4], coords[5], coords[6], coords[7] ); }
- else if ( ZoneType == 7 or ( ZoneType >= 61 and ZoneType <= 63 ) )
+ else if ( ZoneType == 7 || ( ZoneType >= 61 && ZoneType <= 63 ) )
{ zone.SetPipe( coords[0], coords[1], coords[2], coords[3], coords[4], coords[5], coords[6], coords[7], coords[8] ); }
// Remarque : la taille de coords est suffisante pour les limites
for ( int i = 0; i < 3; i++ ) {
// Si analytique, les coordonnees des frontieres : le nombre depend du type
// Si discret, le maillage
+ // Si CAO, la géométrie
int lgcoords ;
- if ( BoundaryType == 1 ) { lgcoords = 7 ; }
+ if ( BoundaryType == -1 ) { lgcoords = -1 ; }
+ else if ( BoundaryType == 1 ) { lgcoords = 7 ; }
else if ( BoundaryType == 2 ) { lgcoords = 4 ; }
else { lgcoords = 0 ; }
//
- if ( lgcoords == 0 )
+ if ( lgcoords == -1 )
+ {
+ chunk = getNextChunk( stream, start, ok );
+ if ( !ok ) return false;
+ boundary.SetDataFile( chunk.c_str() );
+ }
+ else if ( lgcoords == 0 )
{
chunk = getNextChunk( stream, start, ok );
if ( !ok ) return false;
chunk = getNextChunk( stream, start, ok );
if ( !ok ) return false;
- boundary.SetMeshFile( chunk.c_str() );
+ boundary.SetDataFile( chunk.c_str() );
}
else
{ std::vector<double> coords;