su2code / SU2

SU2: An Open-Source Suite for Multiphysics Simulation and Design
https://su2code.github.io
Other
1.33k stars 841 forks source link

Python scripts replaces DV_VALUE in cfg file #2005

Open jannav984 opened 1 year ago

jannav984 commented 1 year ago

Hello,

in SU2 v7.5.1 is probably a bug.

Python scripts using "config,py", as it is in case of discrete_adjoint.py, replace the DV_VALUE by default value = 0. It cases stop of solution due to inconsistency between DV_VALUE and DV_PARAM.... It seems that this issue is connected with part of code in "config.py":

line 658:

hack - twl

_if 'DV_VALUE_NEW' not in data_dict: data_dict['DV_VALUE_NEW'] = [0] if 'DV_VALUE_OLD' not in data_dict: data_dict['DV_VALUEOLD'] = [0]

line 1075: _# HACK - twlif 'DV_VALUE_NEW' in config: config.DV_VALUE = config.DV_VALUE_NEW

Could you please fix it.

Thank you in advance.

Best regards,

Jan

pcarruscag commented 1 year ago

Thank you for investigating the issue, please open a pull request with the fix. You have not provided a case to reproduce the issue. So it's difficult for someone else to test.

jannav984 commented 1 year ago

Hello, I did not fix this issue. I just found possible source of it. You can use case attached to this message to reproduce the issue. Run: python path_to_su2/finite_differences.py -f turb_SA_RAE2822.cfg -n 12 or python path_to_su2/discrete_adjoint.py -f turb_SA_RAE2822.cfg -n 12

It ends with error message:

Error in "void CConfig::SetConfig_Parsing(std::istream&)":

DV_VALUE: DV_VALUE does not contain enough entries to match DV_KIND or DVPARAM. ------------------------------ Error Exit -------------------------------

The config file created prior to call the solver constains DV_VALUE = 0.0 instead of six values as in original cfg file. The reason for this (probable one) is described in my original post.

I'm not experienced with SU2 coding and handling of codes on GitHub, so I would like to ask someone to fix this issue.

Thank you, Jan

RAE_Test.zip