Skip to content

Commit

Permalink
Add bladeStiffenedShell constitutive model (#212)
Browse files Browse the repository at this point in the history
* Add __init__ method to BaseUI

* Modify problem classes to use __init__ from BaseUI

* Starting to add a blade-stiffened shell constitutive model

* Finally figured out the math for the general stiffness matrix case

* Added stiffener stiffness calculation

* Implemented stiffener failure calculation (no buckling yet)

* Added python interface and fix some complex-mode errors

* Unit tests working (but not passing)

* `evalFailureStrainSens` works

* Reordered DVs, panelFailureDVSens working

* `addFailureDVSens` works! (no buckling yet)

* Bug fixes in stress/stiffness calculation, stress derivatives are still way off

* Finally, the stiffener pitch part of `addStressDVSens` works

* `addPanelStressDVSens` working

* FINALLY! `addStressDVSens` works

* Pushing example/test

* debugging

* Remove a bunch of incorrect inlining

* Local panel buckling works (including derivatives)

* Make the strains used in the constitutive unit tests more realistic

* Global buckling failure criteria and all derivatives work

* Remove print statement

* Fix segfault

* Update gitignore

* Remove test script

* Modify Tsai-Wu failure to work with safety factors

* Modify Tsai-Wu failure to work with safety factors

* Switch buckling envelope to safety-factor valid form

* Update integration tests with new failure values

* black .

* Remove commented out code and add comments explaining new Tsai-Wu calculation

* Add back old Tsai-Wu failure index, add method to switch between the two forms

* Increase number of extra output quantities available for shell elements so we can write out all the BladeStiffenedShell DVs

* Add panel length constraint class

* Add `createPanelLengthConstraint` to pytacs

* Minor fix

* Improve the blade stiffened shell docstring

* Remove defunct bladeFSDT code

* Add numba dependency

* `black .`

* Correct docstring for `createPanelLengthConstraint`

* Add numba to conda dependencies

* Make FD step smaller to fix failure sens failures

* Fix bug in rectangular beam Von Mises sens

* Add implementation of `assert_allclose`

* Switch to `TacsAssertAllClose` for failure criteria sens tests

* Fix `TacsAssertAllClose`

* Add abs error printout to `TacsPrintErrorComponents`

* Switch to `TacsAssertAllClose` for all constitutive tests

* Fix some array initialization bugs

* Fix some more initialization bugs

* Tighten tolerances for constitutive tests

* Squashed commit of the following:

commit 6692030
Author: Alasdair Gray <alachris@umich.edu>
Date:   Thu Jun 1 17:25:13 2023 -0400

    Update beam constitutive model test tolerances

commit 05b6065
Author: Alasdair Gray <alachris@umich.edu>
Date:   Thu Jun 1 17:14:50 2023 -0400

    Turn off printing for composite shell test

commit 782eca6
Author: Alasdair Gray <alachris@umich.edu>
Date:   Thu Jun 1 16:49:44 2023 -0400

    Make `TacsAssertAllClose` more readable

commit a558e6e
Author: Alasdair Gray <alachris@umich.edu>
Date:   Thu Jun 1 16:49:25 2023 -0400

    Tighten tolerances even more

commit a769c19
Author: Alasdair Gray <alachris@umich.edu>
Date:   Thu Jun 1 16:49:07 2023 -0400

    Fix incorrect ordering of tolerances in composite shell test

commit eedd376
Author: Alasdair Gray <alachris@umich.edu>
Date:   Thu Jun 1 15:55:49 2023 -0400

    `black .`

commit 95c48b6
Author: Alasdair Gray <alachris@umich.edu>
Date:   Thu Jun 1 15:53:42 2023 -0400

    Tighten tolerances more

commit c8db3e5
Author: Alasdair Gray <alachris@umich.edu>
Date:   Thu Jun 1 15:19:02 2023 -0400

    Remove comments about not using `atol`

commit 5ec5c50
Author: Alasdair Gray <alachris@umich.edu>
Date:   Thu Jun 1 14:30:37 2023 -0400

    Tighten tolerances for constitutive tests

commit a83d610
Author: Alasdair Gray <alachris@umich.edu>
Date:   Wed May 31 21:40:17 2023 -0400

    Switch to `TacsAssertAllClose` for all constitutive tests

commit eaf712c
Author: Alasdair Gray <alachris@umich.edu>
Date:   Wed May 31 21:34:18 2023 -0400

    Add abs error printout to `TacsPrintErrorComponents`

commit 90b1a72
Author: Alasdair Gray <alachris@umich.edu>
Date:   Wed May 31 21:34:01 2023 -0400

    Fix `TacsAssertAllClose`

commit e6f3650
Author: Alasdair Gray <alachris@umich.edu>
Date:   Wed May 31 21:33:36 2023 -0400

    Switch to `TacsAssertAllClose` for failure criteria sens tests

commit 44b10ae
Author: Alasdair Gray <alachris@umich.edu>
Date:   Wed May 31 20:00:05 2023 -0400

    Add implementation of `assert_allclose`

commit 7da4b86
Merge: cc3d9f3 12ef9e0
Author: Alasdair Gray <alachris@umich.edu>
Date:   Thu Jun 1 15:04:59 2023 -0400

    Merge branch 'master' of https://github.com/smdogroup/tacs

commit 12ef9e0
Author: Tim Brooks <41971846+timryanb@users.noreply.github.com>
Date:   Tue May 30 13:57:48 2023 -0400

    Fixing issue with mpi4py build requirement on Python 3.11 (#215)

* Add panel length constraint to partitioned plate integration test

* Improve panel length derivative efficiency in mphys with caching

* Create blade stiffened shell integration test

* Add MACH tutorial wing example using `BladeStiffenedShell`, XptSens are questionable

* Ignore __pycache__ files

* Remove derivative check from MACH tutorial wing example and add benchmark

* Turn off printing in pcm constitutive test

* changing benchmark_analysis.py to benchmark_mach_tutorial.py to avoid testflo conflict

* Fix typo in example constraints

* Fix errors in mass moment derivatives

* Minor comment formatting

---------

Co-authored-by: Tim Brooks <41971846+timryanb@users.noreply.github.com>
  • Loading branch information
A-CGray and timryanb authored Jun 30, 2023
1 parent 02149fb commit da2b837
Show file tree
Hide file tree
Showing 31 changed files with 58,951 additions and 2,914 deletions.
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# use glob syntax.
syntax: glob

# To ignore compiled binaries that have no extensions we need to first ignore everything, then unignore files with extensions and directories
*
!*.*
!*/

extern/
!extern/Makefile*
!extern/f5to*/
Expand All @@ -24,10 +29,13 @@ extern/
*.h5
*.f5
*.bdf
!tests/integration_tests/input_files/*.bdf
!examples/**/*.bdf
*.su2
*.tar.gz
*.png
*.plt
*.szplt
*_cs.*
*.phy
*.bin
Expand All @@ -44,6 +52,12 @@ reports/
*.pxi
*.vtk
*.cfg
*.pkl
*.png
*.gif
*.mp4
.vscode
.DS_Store
.pre-commit-config.yaml

**/__pycache__/
1 change: 1 addition & 0 deletions conda/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ requirements:
- metis >=5.1
- mpi4py
- pynastran
- numba

test:
requires:
Expand Down
Loading

0 comments on commit da2b837

Please sign in to comment.