Jump to content

Изменение матрицы жесткости материала с помощью UMAT


Thr33_Doge

Recommended Posts

Thr33_Doge

Здравствуйте. 

 

Возникла задача учесть изменение свойств материала в процессе решения. Сначала решил разобраться на модельной задаче на кирпиче. На первом шаге кирпич, закрепленный на одном торце, растягивается за другой. Дальше свойства материала меняются (вычисляется новая матрица жесткости) , и хочется увидеть, как при той  же деформации изменятся напряжения. Поведение материала модулирую с помощью UMATa, раньше им практически не пользовался, да и с фортраном есть сложности. Буду благодарен за помощь в правильном расчете и обновлении напряжений на втором шаге решения. 

 

Пока мой УМАТ написан так:

 

 

SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
     1 RPL,DDSDDT,DRPLDE,DRPLDT,
     2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
     3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
     4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)
C
      INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*80 CMNAME
      DIMENSION STRESS(NTENS),STATEV(NSTATV),
     1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
     2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
     3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3),
     4 JSTEP(4)
     
     
      DO K1=1, NTENS
        DO K2=1, NTENS
            DDSDDE(K1, K2)=0.0
        END DO
      END DO

 

      IF (JSTEP(1) == 1) THEN
      CALL Stiffnesses_1()
      DO K1=1, NTENS
        DO K2=1, NTENS
            STRESS(K1)=STRESS(K1)+DDSDDE(K1, K2)*DSTRAN(K2)
        END DO
      END DO
      STRAN = STRAN + DSTRAN
      ENDIF

 

      IF (JSTEP(1) == 2) THEN

        STATEV(1) = 3
        CALL Stiffnesses_2 ()
       ### место для обновления напряжений ### 
        
      
      ENDIF
        
C      STRAIN ENERGY

      A = 0
      SSED = 0
      DO K1=1,NTENS
        DO K2=1,NTENS
            A = DDSDDE(K1, K2)*DSTRAN(K2)
            SSED = SSED + (STRAN(K1)+0.5*DSTRAN(K1))*A
        END DO
      END DO
        
      SSE = SSE + SSED
    
      RETURN
      CONTAINS 
      SUBROUTINE Stiffnesses_1 ()

      E1=PROPS(1)
      E2=PROPS(2)
      E3=PROPS(3)
      V12=PROPS(4)
      V13=PROPS(5)
      V23=PROPS(6)
      G12=PROPS(7)
      G13=PROPS(8)
      G23=PROPS(9)
      V21=E2/E1*V12
      V31=E3/E1*V13
      V32=E3/E2*V23
      D=(1.-V12*V21-V23*V32-V13*V31-2.*V21*V32*V13)/E1/E2/E3
      DDSDDE(1, 1)=(1.-V23*V32)/E2/E3/D
      DDSDDE(1, 2)=(V21+V31*V23)/E2/E3/D
      DDSDDE(1, 3)=(V31+V21*V32)/E2/E3/D
      DDSDDE(2, 1)=(V21+V31*V23)/E2/E3/D
      DDSDDE(2, 2)=(1.-V13*V31)/E1/E3/D
      DDSDDE(2, 3)=(V32+V12*V31)/E1/E3/D
      DDSDDE(3, 1)=(V31+V21*V32)/E2/E3/D
      DDSDDE(3, 2)=(V32+V12*V31)/E1/E3/D
      DDSDDE(3, 3)=(1.-V12*V21)/E1/E2/D
      DDSDDE(4, 4)=G12
      DDSDDE(5, 5)=G13
      DDSDDE(6, 6)=G23
      END SUBROUTINE Stiffnesses_1
      

      SUBROUTINE Stiffnesses_2 ()

      E1=PROPS(10)
      E2=PROPS(11)
      E3=PROPS(12)
      V12=PROPS(13)
      V13=PROPS(14)
      V23=PROPS(15)
      G12=PROPS(16)
      G13=PROPS(17)
      G23=PROPS(18)
      V21=E2/E1*V12
      V31=E3/E1*V13
      V32=E3/E2*V23
      D=(1.-V12*V21-V23*V32-V13*V31-2.*V21*V32*V13)/E1/E2/E3
      DDSDDE(1, 1)=(1.-V23*V32)/E2/E3/D
      DDSDDE(1, 2)=(V21+V31*V23)/E2/E3/D
      DDSDDE(1, 3)=(V31+V21*V32)/E2/E3/D
      DDSDDE(2, 1)=(V21+V31*V23)/E2/E3/D
      DDSDDE(2, 2)=(1.-V13*V31)/E1/E3/D
      DDSDDE(2, 3)=(V32+V12*V31)/E1/E3/D
      DDSDDE(3, 1)=(V31+V21*V32)/E2/E3/D
      DDSDDE(3, 2)=(V32+V12*V31)/E1/E3/D
      DDSDDE(3, 3)=(1.-V12*V21)/E1/E2/D
      DDSDDE(4, 4)=G12
      DDSDDE(5, 5)=G13
      DDSDDE(6, 6)=G23

      END SUBROUTINE Stiffnesses_2

      END
     
 

 

 

Link to post
Share on other sites


UnPinned posts
Fedor
Цитата

как при той  же деформации изменятся напряжения

Если приложенные усилия не меняются, то и напряжения не будут меняться если изменением сечения можно пренебречь, а если изменение сечения значительное то пропорционально вырастут и напряжения. В общем силы то должны быть уравновешены. Об этом говорит метод сечений сопромата :)  

Link to post
Share on other sites
Thr33_Doge
3 часа назад, Fedor сказал:

если приложенные усилия не меняются, то и напряжения не будут меняться если изменением сечения можно пренебречь,

Кирпич растягивается за счет задания перемещений на конце, как раз и интересует изменение напряжений в нем в след за изменением жесткостей

Link to post
Share on other sites
ДОБРЯК
6 часов назад, Thr33_Doge сказал:

Дальше свойства материала меняются

Свойства материала для всех элементов одинаково меняется?

Link to post
Share on other sites
Thr33_Doge
36 минут назад, ДОБРЯК сказал:
7 часов назад, Thr33_Doge сказал:

Дальше свойства материала меняются

Свойства материала для всех элементов одинаково меняется?

Да, просто нужно другую матрицу правильно подсунуть

Link to post
Share on other sites
ДОБРЯК
4 минуты назад, Thr33_Doge сказал:

Да, просто нужно другую матрицу правильно подсунуть

Измените свойства материала во входном файле, матрица жесткости изменится.

Link to post
Share on other sites
Orchestra2603
8 hours ago, Thr33_Doge said:

и хочется увидеть, как при той  же деформации изменятся напряжения

Вы моделируете ползучесть (creep)? У вас есть зависимость напряжений от времени и/или скокрости деформации? Если так, то странно, что я нигде не нашел, чтобы использовался DTIME.

 

И вообще, в целом, опишите, в чем у вас проблема то? что не получается?

Link to post
Share on other sites
Fedor

S=E e  если E(е) модуль зависит от деформаций то просто зная деформацию вычисляете напряжение. Деформационная теория пластичности... https://ru.wikipedia.org/wiki/Теория_пластичности   Ну или какая-нибудь другая...   https://en.wikipedia.org/wiki/Flow_plasticity_theory   :)

Edited by Fedor
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Сообщения

    • Viktor2004
      Не знаю. Но это не опция и работает на всех чпу где есть такое окно
    • frei
      https://consulo.io/ Сам не юзал.  
    • gudstartup
      так его вроде как сама система генерирует даже пустой   Следующие данные могут быть выведены из ЧПУ до того, как вас попросят выключить питание. Если есть несколько путей, файл для пути 2 будет иметь расширение P-2, путь 3 будет P-3 и т. д.    
    • Guhl
      Мысли тут простые: 1я мысль: проверить предохранители 2я мысль: изучение мануалов, благо они имеются в достатке 3я мысль: изучить иностранные форумы типа cnczone, благо это ЧПУ нередкая в их краях вещь Также надо снять бэкап пока еще батарейка не села (если она там есть)   Вы уверены, что у станка питание 380В, а не 200В?
    • morfeantyri1
      Доброго дня, пытаемся восстановить работу старенького Matsuura MC1000 с управление Yasnac j300. Имеем ошибку 3100 servo alarm, Питание на сервопаках есть, кабель плоский связи между сервопаками проверили, видимых повреждений на плате ПК не видать. вопрос если это не блок связи в ПК то.  Возможна ли общая ошибка servo alarm из за проблем на какой-то конкретной оси? Правильно ли я понимаю что контактор питания осей (380 вольт) включается непосредственно перед запуском осей и не должен приводить к нарушению связи серво->ПК?  полный список ошибок таков: 3000 servo off (питание серв включается повторным нажитие кнопки питания по инструкции, сейчас этого не происходит в виду как я думаю ошибки servo alarm) 3100 servo alarm 2190 machine unready (думается следствие предыдущих двух ошибок) иногда появляется и исчезает ошибка 1093 memory error (OFS) но думаю это дело будущего. Может есть к кого какие мысли?!
    • mannul
      Можно, но не на этом старом синумерике. И по DXF нельзя задать вектора, потому что DXF плоский. А в скринах автора в каждом кадре векторы направления стоят, причем всегда вдоль оси Z. Поэтому могу с уверенностью сказать, что это выведено через пост, который эти вектора выводит всегда.
    • maxx2000
      @mannul на стойке нельзя по DXF файлу составить программу ? На стойке нельзя задать нумерацию кадров с любым шагом?
    • mannul
      Вряд ли кто-то будет сам считать векторы A3, B3, C3 и дуги в произвольной плоскости - CIP. Да и нумерация кадров с шагом 5 говорит о том что скорее всего программа выведена через пост.
    • brigval
      На линии разреза можно накладывать ограничения. Это не подойдет хотя бы в некоторых сложных случаях?
    • brigval
      Брагин Коммандер 3 v1.11     В версии 1.11  Добавлено: Добавлены настройки копирования проектов.  Добавлено: Добавлен пример организации Папки проектов.  Изменено: Исключен поиск ссылок в шаблонах КОМПАС-3D.  Изменено: При загрузке программа подключается к КОМПАС-3D не сразу, а только если это станет необходимым.  Исправлено: Программа завершала работу при долгом считывании ссылок.  Исправлено: Исправлены замеченные ошибки и неточности кода.  
×
×
  • Create New...