-
Notifications
You must be signed in to change notification settings - Fork 918
CFEASolver CMeshSolver maintenance #933
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
|
Thanks @pcarruscag ! The symmetry BC was exactly what is needed to remove the old grid deformation and to maintain the same functionalty. I am gonna remove it in a separate PR. Furthermore, since we can include the grid deformation in the adjoint solver, in the end SU2_DOT will only have to deal with the surface deformation. |
|
@talbring symmetry it is not the only thing. Can we decide as a group what that is going to look like and discuss the trade-offs? Especially how it will be used, right now the deformation settings are very messy, and the code has no information regarding how/if the different motions can be combined. |
|
Sure! We also have a lot of other things to discuss. Lets organize a more structured meeting. I will open a poll for the date on slack (@ALL: please join if you haven't so far). Furthermore I will prepare an agenda. |
economon
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.
LGTM. Thanks for the changes!
I think this is ready to go, and we can continue the discussion about the deformation usage as a group on slack / a call / elsewhere.
| const bool ActiveTape = AD::TapeActive(); | ||
| AD::StopRecording(); | ||
|
|
||
| Compute_StiffMatrix(geometry[MESH_0], numerics, config); | ||
|
|
||
| if (ActiveTape) AD::StartRecording(); | ||
|
|
||
| /*--- Clear residual (loses AD info), we do not want an incremental solution. ---*/ | ||
| SU2_OMP_PARALLEL | ||
| { | ||
| LinSysRes.SetValZero(); | ||
| } |
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.
I am having a third second look at this bit (so I won't merge it just yet).
Although the results did not change from this memory usage tweak, I think some dependencies might be lost here as this is equivalent to assuming the stiffness matrix does not depend on the reference (undeformed) mesh coordinates.
Which is also an approximation made in SU2_DOT.
…su2code/SU2 into grid_deformation_legacy_cleanup
Proposed Changes
Implements some features that will be necessary to eventually replace the elasticity-based mesh deformation. Namely symmetry boundary condition and the use of the DEFORM_LIMIT option to limit how much of the domain is deformed.
Reduces the discrete adjoint memory usage by disabling the recording of routines that are not relevant or differentiable.
Cleans up some redundant MPI comms in CFEASolver and moves all of them to the methods of that solver (i.e. no more explicit MPI comms in structural integration / iteration).
Makes the structural objective functions available as screen/history output under the name COMBO.
Improves/fixes the incremental load approach when used for multizone problems.
Related Work
#919 #594
PR Checklist