mdolab / OpenAeroStruct

OpenAeroStruct is a lightweight tool that performs aerostructural optimization using OpenMDAO.
Apache License 2.0
191 stars 116 forks source link

Fix displacement transfer #323

Open shamsheersc19 opened 4 years ago

shamsheersc19 commented 4 years ago

Type of issue

What types of issue is it?

Description

The implemented displacement transfer scheme doesn't match the scheme in the OAS paper. (But, this is not a major concern for reasonably fine meshes.)

Current behavior

See #322

Expected behavior

The work done for the aero and structures should match for all mesh levels (see #322).

kanekosh commented 4 years ago

I implemented a displacement transfer that is (almost) identical to the scheme in the paper. Now I confirmed that the new implementation satisfies the work conservation even with a coarse mesh.
With a 5*2 mesh of CRM, the relative difference between aero and structural works is:

v2.2.0: 0.74%
v2.2.1: 29.0%
Newest: 0.0047%

I believe the tiny difference comes from the nonlinear rotational transfer of the code, as opposed to the linear assumption in the paper. But this effect is small enough, and I'm not going to fix this part.

Now I'll be implementing the partial derivatives and updating the doc as needed. This will take a while because I had to change the mesh data structure throughout the VLM module.