Skip to content
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

TACS Unsteady Interface #86

Merged
merged 33 commits into from
Dec 22, 2022
Merged

Conversation

rnpatel3
Copy link
Contributor

@rnpatel3 rnpatel3 commented Dec 14, 2022

Work on the TACS unsteady interface

  • Utilizing the pyTACS API to load geometry from BDF files
  • Forward aeroelastic interaction tested and notionally functional (aerothermoelastic capability tentatively included, not tested, not reflecting new heat flux calcs)
  • Adjoint iterations for aeroelastic analysis run without code error, but issues with residual convergence

Example cases

  • Diamond wing: Poor structural mesh leads to non-convergence of structural residuals in fwd analysis
  • SimpleSST: Mesh works well for forward analysis, namelists provided to run gust simulation and store structural response

sean-engelstad and others added 30 commits August 31, 2022 19:38
- Updates to tacs unsteady interface for output viz and proc checks
- Changes to fun3d interface to enable time dependent adjoint storing
  of states via body class
- Increase subiters in FUN3D
- Output struct files to new directory
- Debugging forward unsteady accuracy issues (problematic mesh?)
- Modifications to nlbgs driver unsteady_adjoint for updated body class
- Diamond wing example cleanup (note, example does not work due
  to poor structural mesh quality)
- Added simpleSST wing example (fwd unsteady works properly)
- Misc progress to full unsteady analysis
Copy link
Contributor

@sean-engelstad sean-engelstad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to change the two example cases to use callback=None and thus the default funtofem callback now. But other than that everything looks really good. The only places that could potentially change something for the steady case is tacs interface iterate() function which contains time_step= inputs now. However, Rohan and I went through that code and it shouldn't change the steady case.

@bburke38
Copy link
Contributor

I would like to change the two example cases to use callback=None and thus the default funtofem callback now. But other than that everything looks really good. The only places that could potentially change something for the steady case is tacs interface iterate() function which contains time_step= inputs now. However, Rohan and I went through that code and it shouldn't change the steady case.

Can you make the changes regarding the callback before we merge?

Copy link
Contributor

@bburke38 bburke38 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is there a tacs_interface_unsteady_v2? Should this just replace an earlier tacs_interface_unsteady? Also, do we need/want to include the grid files for the examples in this repo?

- Remove funtofem callback -> Use default callback
- Rename unsteady interface
@sean-engelstad sean-engelstad added the enhancement New feature or request label Dec 21, 2022
- Fixing np.int issues for test
- Adding callback tacs unsteady interface
- Clean up examples directories
@rnpatel3 rnpatel3 merged commit cb27a97 into smdogroup:master Dec 22, 2022
Copy link
Contributor

@bburke38 bburke38 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. There is an assertion in the body class to check if the analysis_type is recognized, I think this is redundant since there is already a method implemented to verify the analysis type that is called during initialize_transfer. But it shouldn't hurt anything for now--should modify in the future to be consistent.

@@ -142,6 +144,8 @@ def __init__(

from .variable import Variable as dv

assert analysis_type in Body.ANALYSIS_TYPES
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this analysis type verification here redundant since we already run self.verify_analysis_type in initialize_transfer()?

@rnpatel3 rnpatel3 deleted the unsteady_interface branch December 22, 2022 18:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants