Skip to content

Enable bdf writing for BladeStiffenedShellConstitutive#291

Draft
A-CGray wants to merge 4 commits intomasterfrom
bladeStiffenedShellNastran
Draft

Enable bdf writing for BladeStiffenedShellConstitutive#291
A-CGray wants to merge 4 commits intomasterfrom
bladeStiffenedShellNastran

Conversation

@A-CGray
Copy link
Contributor

@A-CGray A-CGray commented Jan 26, 2024

Opening as a draft to get your opinion on how to implement this properly.

There is no direct equivalent of the Blade-stiffened shell constitutive model in NASTRAN, based on the approach taken in the previous version of TACS I am using the PSHELL propery card along with 4 MAT2 cards that directly describe the A, B, D, and As matrices of the stiffened shell.

The main issue is that the current BDF writer in pytacs relies on the material card being written by the TACSMaterialProperties object stored in each constitutive object. This is because the generateBDFCard method takes no inputs, so the only way a constitutive object knows which material card IDs to use in its property card is to get them from its TACSMaterialProperties objects.

To get around this I did 2 things:

  1. Created a new cython-only MAT2MaterialProperties class. This class is not designed to be used at all by TACS, only to write out MAT2 cards. 4 instances of this class are returned by the getMaterialProperties method of BladeStiffenedShellConstitutive
  2. Altered the writeBDF method in pyTACS so that it keeps track of which material cards are associated with each constitutive object and then passes and passes their ids to generateBDFCard. Currently this only works with BladeStiffenedShellConstitutive, we would need to modify the generateBDFCard methods of the other constitutive models if we want to stick with this approach.

@A-CGray A-CGray requested a review from timryanb January 26, 2024 22:29
@timryanb
Copy link
Collaborator

timryanb commented Jan 29, 2024

It looks like these changes are causing the write_bdf tests to hang. Any idea what's going on here?
see here

@A-CGray
Copy link
Contributor Author

A-CGray commented Jan 29, 2024

It looks like these changes are causing the write_bdf tests to hang. Any idea what's going on here? see here

I would expect them to fail currently, because I started passing a mat_ids input to the generateBDFCard method of the constitutive objects, maybe they're ahnging because that failure only happens on one proc?

@A-CGray
Copy link
Contributor Author

A-CGray commented Jan 30, 2024

@timryanb are you happy with the basic idea behind the current implementation? If so I can go ahead and alter the other constitutive class generateBDFCard methods to accept the mat_ids input.

@timryanb
Copy link
Collaborator

@timryanb are you happy with the basic idea behind the current implementation? If so I can go ahead and alter the other constitutive class generateBDFCard methods to accept the mat_ids input.

Can we hold off on this? I'd like to think more about the rmifications of this and if there's any alternative approaches

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants