Перейти к содержанию

Подпрограммы для упругой деформации (uelastic.f90)

Предоставляются подпрограммы для вычисления матрицы упругой жёсткости и обновления напряжений в задачах упругости и гиперупругости. Для использования пользовательского упругого или гиперупругого определяющего соотношения сначала задайте во входном файле !ELASTIC, TYPE=USER или !HYPERELASTIC, TYPE=USER и введите необходимые материальные константы, а затем реализуйте подпрограммы uElasticMatrix и uElasticUpdate.

(1) Подпрограмма вычисления матрицы упругой жёсткости

subroutine uElasticMatrix( matl, strain, D )
    REAL(KIND=kreal), INTENT(IN) :: matl(:)
    REAL(KIND=kreal), INTENT(IN) :: strain(6)
    REAL(KIND=kreal), INTENT(OUT) :: D(6,6)
  • matl: массив для хранения материальных констант (максимум 100)
  • strain: деформация Грина — Лагранжа
  • D: матрица упругости

(2) Подпрограмма вычисления напряжений

subroutine uElasticUpdate ( matl, strain, stress )
    REAL(KIND=kreal), INTENT(IN) :: matl(:)
    REAL(KIND=kreal), INTENT(IN) :: strain(6)
    REAL(KIND=kreal), INTENT(OUT) :: stress(6)
  • matl: массив для хранения материальных констант (максимум 100)
  • strain: деформация Грина — Лагранжа
  • stress: напряжение