-
Notifications
You must be signed in to change notification settings - Fork 913
Refactorization of SU2 Grid Deformation for Python #1300
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
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:
|
pcarruscag
left a comment
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:
CDriverBasea. Parent class for
CDriver,CDeformationDriver,CDiscAdjDeformationDriverb. Common methods regarding geometry, markers, MPI, etc.
CDeformationDriverandCDiscAdjDeformationDriverIn addition, the
CDeformationDriverwas modified to use the new mesh deformation solverCMeshSolver. The integration ofCMeshSolverrequired introducing thenumerics_containerandsolver_container, as well as minor changes toCMeshSolver(e.g.,DeformMeshandSetMesh_Stiffness). Both the legacy mesh deformation solverSU2_DEFand the newerCMeshSolvercan be used with these new drivers, depending on how theDEFORM_MESHoption 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
CDiscAdjDeformationDriveris not integrated withCMeshSolver, but this will be addressed in the future.PR Checklist