@@ -157,11 +157,11 @@ FmAnalysis::FmAnalysis()
157157 FFA_FIELD_DEFAULT_INIT (solverAddOpts , "SOLVER_ADD_OPTIONS" );
158158 FFA_FIELD_DEFAULT_INIT (stressAddOpts , "STRESS_ADD_OPTIONS" );
159159
160- FFA_FIELD_INIT (useRamSizeGSF , true ,"USE_RAMSIZE_GSF_SOLVER" );
160+ FFA_FIELD_INIT (useRamSizeGSF ,false ,"USE_RAMSIZE_GSF_SOLVER" );
161161 FFA_FIELD_INIT (autoRamSizeGSF ,true,"AUTO_RAMSIZE_GSF_SOLVER" );
162162 FFA_FIELD_INIT (ramSizeGSF , 0 ,"RAMSIZE_GSF_SOLVER" );
163163
164- FFA_FIELD_INIT (useRamSizeBmat , true ,"USE_RAMSIZE_RECOVERY_MATRIX" );
164+ FFA_FIELD_INIT (useRamSizeBmat ,false ,"USE_RAMSIZE_RECOVERY_MATRIX" );
165165 FFA_FIELD_INIT (autoRamSizeBmat ,true,"AUTO_RAMSIZE_RECOVERY_MATRIX" );
166166 FFA_FIELD_INIT (ramSizeBmat , 0 ,"RAMSIZE_RECOVERY_MATRIX" );
167167
@@ -252,11 +252,11 @@ bool FmAnalysis::readAndConnect(std::istream& is, std::ostream&)
252252 else if (shadowPosAlg .getValue () == 0 )
253253 {
254254 obj -> defaultShadowPosAlg .setValue (3 );
255- FFaMsg ::dialog ("This model used the depreciated \"Max triangle, with unit offset\" option in the\n"
256- "\"Default positioning algorithm for the co-rotated reference coordinate system\"\n"
257- "menu. This is now changed to \"Max triangle, with scaled offset\" instead.\n\n"
258- "This change may affect the simulation, if the model contains Parts that\n"
259- "rely on the default positioning algorithm." ,FFaMsg ::WARNING );
255+ FFaMsg ::dialog ("This model used the deprecated \"Max triangle, with unit offset\" option in the\n"
256+ "\"Default positioning algorithm for the co-rotated reference coordinate system\"\n"
257+ "menu. This is now changed to \"Max triangle, with scaled offset\" instead.\n\n"
258+ "This change may affect the simulation, if the model contains Parts that\n"
259+ "rely on the default positioning algorithm." , FFaMsg ::WARNING );
260260 }
261261 else
262262 obj -> defaultShadowPosAlg .setValue (shadowPosAlg .getValue ());
@@ -275,12 +275,21 @@ bool FmAnalysis::readAndConnect(std::istream& is, std::ostream&)
275275 if (old && obj -> numEigenmodes .getValue () == 0 )
276276 obj -> numEigenmodes .setValue (old -> numEigenmodes .getValue ());
277277
278+ if (FmDB ::getModelFileVer () < FFaVersionNumber (8 ,1 ,2 ,8 ))
279+ {
280+ // The default used to be true for these settings, but they should be false
281+ if (obj -> useRamSizeGSF .setValue (false))
282+ ListUI <<" -> Resetting the FE model Reducer out-of-core option to OFF.\n" ;
283+ if (obj -> useRamSizeBmat .setValue (false))
284+ ListUI <<" -> Resetting the Recovery matrix out-of-core option to OFF.\n" ;
285+ }
286+
278287 return obj -> cloneOrConnect ();
279288}
280289
281290
282291bool FmAnalysis ::localParse (const char * keyWord , std ::istream & activeStatement ,
283- FmAnalysis * obj )
292+ FmAnalysis * obj )
284293{
285294 enum { MAX_EIGENMODES = 1 ,
286295 ABSOLUTE_INTEGRATION_TOLERANCE ,
@@ -317,6 +326,7 @@ bool FmAnalysis::localParse(const char* keyWord, std::istream& activeStatement,
317326 "CURR_SCALE" ,
318327 NULL };
319328
329+ bool defsonly ;
320330 int tmpInt ;
321331 double tmp ;
322332 switch (FaParse ::findIndex (key_words , keyWord ))
@@ -353,7 +363,6 @@ bool FmAnalysis::localParse(const char* keyWord, std::istream& activeStatement,
353363 break ;
354364
355365 case STRESS_DEFORMATIONS_ONLY :
356- bool defsonly ;
357366 activeStatement >> defsonly ;
358367 obj -> stressDeformation .setValue (true);
359368 obj -> stressStressTensor .setValue (!defsonly );
@@ -419,21 +428,18 @@ void FmAnalysis::initAfterResolve()
419428
420429 if (seaEngine == 0 ) return ;
421430
422- FmMathFuncBase * sfunc = NULL ;
423- FmBase * found = FmDB ::findID (FmEngine ::getClassTypeID (),seaEngine );
424- if (found ) sfunc = static_cast < FmEngine * > (found )-> getFunction ();
425- if (sfunc )
426- {
427- sfunc -> setUserDescription (found -> getUserDescription ());
428- sfunc -> setFunctionUse (FmMathFuncBase ::WAVE_FUNCTION );
429- FmDB ::getSeaStateObject ()-> waveFunction .setRef (sfunc );
430- FmModelMemberBase * user = NULL ;
431- if (!found -> hasReferringObjs (user ))
431+ if (FmBase * found = FmDB ::findID (FmEngine ::getClassTypeID (),seaEngine ); found )
432+ if (FmMathFuncBase * swf = static_cast < FmEngine * > (found )-> getFunction (); swf )
432433 {
433- static_cast < FmEngine * > (found )-> setFunction (NULL );
434- found -> erase ();
434+ swf -> setUserDescription (found -> getUserDescription ());
435+ swf -> setFunctionUse (FmMathFuncBase ::WAVE_FUNCTION );
436+ FmDB ::getSeaStateObject ()-> waveFunction .setRef (swf );
437+ if (FmModelMemberBase * user ; !found -> hasReferringObjs (user ))
438+ {
439+ static_cast < FmEngine * > (found )-> setFunction (NULL );
440+ found -> erase ();
441+ }
435442 }
436- }
437443
438444 seaEngine = 0 ;
439445}
0 commit comments