Как получить общее приращение в подпрограмме Disp в ABAQUS - PullRequest
0 голосов
/ 23 января 2019

Я использую подпрограмму Disp в ABAQUS.Я хочу применить определенное граничное условие к моей модели.Это часть моего кода:

  IF (NODE==mst(2,1)) THEN
     IF (JDOF .EQ. 1) THEN
       U(1)=0.01
     ELSE IF (JDOF .EQ. 2) THEN
       U(1)=0
     ELSE
       U(1)=0
     END IF
  END IF

Проблема в том, что я не знаю, сколько стимулов использует ABAQUS для решения модели.Таким образом, я не знаю, как изменить значение «U (1) = 0,01» на его инкремент.Я знаю, что «KINC» дает текущий номер приращения.Тем не менее, я не знаю, как получить общее количество приращений.Более того, есть ли необходимость изменить значение на инкрементное, иначе ABAQUS сделает это автоматически?

1 Ответ

0 голосов
/ 28 января 2019

Общее количество приращений не известно априори, если вы не укажете его (то есть, если возникнут проблемы с сходимостью, будет уменьшен размер шага и, следовательно, увеличен номер шага). Вы можете использовать ВРЕМЯ (1) и ВРЕМЯ (2), чтобы узнать текущее значение времени шага и переформулировать свою нагрузку на основе этого, что, я думаю, именно то, что вы ищете.

По второму вопросу Abaqus автоматически вычислит приращение или будет следовать заданному значению в зависимости от настроек солвера, которые вы прописали. Есть некоторые пользовательские подпрограммы, которые могут контролировать размер приращения, но DISP не является одним из них.

...