Unify Flow and FEA unsteady options + fix unsteady FEA adjoints + add FEA python wrapper examples by pcarruscag · Pull Request #2008 · su2code/SU2

Expand Up @@ -2435,12 +2435,6 @@ void CConfig::SetConfig_Options() { /* DESCRIPTION: Temporary: pseudo static analysis (no density in dynamic analysis) * Options: NO, YES \ingroup Config */ addBoolOption("PSEUDO_STATIC", PseudoStatic, false); /* DESCRIPTION: Dynamic or static structural analysis */ addEnumOption("DYNAMIC_ANALYSIS", Dynamic_Analysis, Dynamic_Map, STATIC); /* DESCRIPTION: Time Step for dynamic analysis (s) */ addDoubleOption("DYN_TIMESTEP", Delta_DynTime, 0.0); /* DESCRIPTION: Total Physical Time for dual time stepping simulations (s) */ addDoubleOption("DYN_TIME", Total_DynTime, 1.0); /* DESCRIPTION: Parameter alpha for Newmark scheme (s) */ addDoubleOption("NEWMARK_BETA", Newmark_beta, 0.25); /* DESCRIPTION: Parameter delta for Newmark scheme (s) */ Expand Down Expand Up @@ -2987,6 +2981,12 @@ void CConfig::SetConfig_Parsing(istream& config_buffer){ newString.append("\n"); if (!option_name.compare("SINGLEZONE_DRIVER")) newString.append("Option SINGLEZONE_DRIVER is deprecated, it does not have a replacement.\n\n"); else if (!option_name.compare("DYN_TIMESTEP")) newString.append("DYN_TIMESTEP is deprecated. Use TIME_STEP instead.\n\n"); else if (!option_name.compare("DYN_TIME")) newString.append("DYN_TIME is deprecated. Use MAX_TIME instead.\n\n"); else if (!option_name.compare("DYNAMIC_ANALYSIS")) newString.append("DYNAMIC_ANALYSIS is deprecated. Use TIME_DOMAIN instead.\n\n"); else { /*--- Find the most likely candidate for the unrecognized option, based on the length of start and end character sequences shared by candidates and the option. ---*/ Expand Down Expand Up @@ -3660,7 +3660,6 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i
if (Time_Domain){ Delta_UnstTime = Time_Step; Delta_DynTime = Time_Step;
if (TimeMarching == TIME_MARCHING::TIME_STEPPING){ InnerIter = 1; }
Expand Down Expand Up @@ -4649,6 +4648,11 @@ void CConfig::SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_i MaterialDensity = new su2double[1]; MaterialDensity[0] = 7854; }
if (nElasticityMod != nPoissonRatio || nElasticityMod != nMaterialDensity) { SU2_MPI::Error("ELASTICITY_MODULUS, POISSON_RATIO, and MATERIAL_DENSITY need to have the same number " "of entries (the number of materials).", CURRENT_FUNCTION); }
if (nElectric_Constant == 0) { nElectric_Constant = 1; Electric_Constant = new su2double[1]; Electric_Constant[0] = 0.0; Expand Down Expand Up @@ -6803,7 +6807,7 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) { else { if (Time_Domain) { cout << "Dynamic structural analysis."<< endl; cout << "Time step provided by the user for the dynamic analysis(s): "<< Delta_DynTime << "." << endl; cout << "Time step provided by the user for the dynamic analysis(s): "<< Time_Step << "." << endl; } else { cout << "Static structural analysis." << endl; } Expand Down Expand Up @@ -6871,14 +6875,11 @@ void CConfig::SetOutput(SU2_COMPONENT val_software, unsigned short val_izone) {
if (fea) { switch (Kind_TimeIntScheme_FEA) { case STRUCT_TIME_INT::CD_EXPLICIT: cout << "Explicit time integration (NOT IMPLEMENTED YET)." << endl; break; case STRUCT_TIME_INT::GENERALIZED_ALPHA: cout << "Generalized-alpha method." << endl; break; case STRUCT_TIME_INT::NEWMARK_IMPLICIT: if (Dynamic_Analysis) cout << "Newmark implicit method for the structural time integration." << endl; if (Time_Domain) cout << "Newmark implicit method for the structural time integration." << endl; switch (Kind_Linear_Solver) { case BCGSTAB: cout << "BCGSTAB is used for solving the linear system." << endl; Expand Down Expand Up @@ -8416,9 +8417,6 @@ void CConfig::SetGlobalParam(MAIN_SOLVER val_solver,
case MAIN_SOLVER::FEM_ELASTICITY: case MAIN_SOLVER::DISC_ADJ_FEM:
Current_DynTime = static_cast<su2double>(TimeIter)*Delta_DynTime;
if (val_system == RUNTIME_FEA_SYS) { SetKind_ConvNumScheme(NONE, CENTERED::NONE, UPWIND::NONE, LIMITER::NONE, NONE, NONE); SetKind_TimeIntScheme(NONE); Expand Down Expand Up @@ -9994,7 +9992,6 @@ void CConfig::SetMultizone(const CConfig *driver_config, const CConfig* const* c /*--- Fix the Time Step for all subdomains, for the case of time-dependent problems ---*/ if (driver_config->GetTime_Domain()){ Delta_UnstTime = driver_config->GetTime_Step(); Delta_DynTime = driver_config->GetTime_Step();
Time_Domain = true; } Expand Down