-
Notifications
You must be signed in to change notification settings - Fork 847
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactorization of SU2 Grid Deformation for Python #1300
Conversation
Refactor some pre-processing operations in constructor to Geometrical_Preprocessing() and Output_Preprocessing(). Refactor SU2_DEF main function to use the new CDeformationDriver class.
This pull request introduces 10 alerts when merging 6facf5b into 919900a - view on LGTM.com new alerts:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good 👍
fyi
|
This pull request introduces 12 alerts when merging c440148 into 350fee9 - view on LGTM.com new alerts:
|
This pull request introduces 12 alerts when merging 169be9a into 350fee9 - view on LGTM.com new alerts:
|
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If this is still a relevant issue please comment on it to restart the discussion. Thank you for your contributions. |
Okay the regression tests are all finally passing! |
You can leave the "uncontrolled path" warnings |
Co-authored-by: Pedro Gomes <38071223+pcarruscag@users.noreply.github.com>
I'll try to break down each request to make it clearer. Request: Use nomenclature consistent with the C++ interface (point instead of node, etc.) Request: Return connectivity/adjacency as local indices instead of global Request: Do not apply unnecessary "transformations" to the connectivity/adjacency as part of the API Request: Do not offer too many overloads of the same function |
…to feature_pysu2_DEF
I've been testing this a bit this afternoon, things look ok. This needs regression tests now. |
I'm trying to build SU2 with NVIDIA HPC compiler. |
Proposed Changes
This pull request represents progress towards exposing the mesh deformation routines and their adjoint counterparts to Python through pysu2 and pysu2ad, respectively. This refactorization introduced:
CDriverBase
a. Parent class for
CDriver
,CDeformationDriver
,CDiscAdjDeformationDriver
b. Common methods regarding geometry, markers, MPI, etc.
CDeformationDriver
andCDiscAdjDeformationDriver
In addition, the
CDeformationDriver
was modified to use the new mesh deformation solverCMeshSolver
. The integration ofCMeshSolver
required introducing thenumerics_container
andsolver_container
, as well as minor changes toCMeshSolver
(e.g.,DeformMesh
andSetMesh_Stiffness
). Both the legacy mesh deformation solverSU2_DEF
and the newerCMeshSolver
can be used with these new drivers, depending on how theDEFORM_MESH
option is set in the SU2 config file.Related Work
These efforts are related to Issue #1262. The purpose of this work is to enable the coupling of SU2 with external solvers like Nastran, particularly for aerostructural MDAO. The goal is to apply this for coupled discrete adjoint sensitivities.
In the future, these driver classes will be extended to include more methods accessible via Python (i.e., for setting or extracting variables, config parameters, etc.). Currently
CDiscAdjDeformationDriver
is not integrated withCMeshSolver
, but this will be addressed in the future.PR Checklist