2016-04-18 8 views
0

Я пытаюсь изменить жесткость крепежа в зависимости от давления на него. Я приближаюсь к этой проблеме, используя полевые переменные и извлекая силы в крепеж от .fil.Получение номера элемента, связанного с узлом крепления в Abaqus

Проблема заключается в том, что мне нужно, чтобы связать номер узла предоставленный UFIELD к элементу числа крепежного в .fil файл. Я знаю, что файл .fil содержит эту информацию в записи no. 1900, но когда я установил , если заявление для этой записи, оно никогда не попадает в мою подпрограмму. Хотя, когда я конвертирую свой файл .fil в ASCII, я вижу эту информацию там.

Окно Записи No. 1 и No. 495 поражаются правильно, и я могу получить номер элемента и внутренних сил в нем.

Кроме того, я попытался использовать GETPARTINFO как на узле, который у меня есть, так и на элементе. Но он возвращает число, не связанное с узлом моего крепежа или самим элементом.

Кроме того, я не мог получить застежку CTF от самого узла или материальной точки, поскольку крепежные детали не имеют материальных точек.

Если я предполагаю, что узлы и крепление находятся в одном порядке и просто соответствуют им, мой код прекрасно работает только на небольшом элементе в крошечной модели. Но в большой модели с большим количеством крепежей все путается.

Любые идеи, как решить эту проблему или, возможно, некоторые замечания о том, почему я не могу Access ключ 1900 из моей подпрограммой или почему GETPARTINFO не возвращает то, что следует ожидать?

+0

Я понятия не имею, что это такое (кроме того, что я знаю, что Abaqus - пакет FEM). Рассмотрите возможность поиска более специализированного места для вашего вопроса. Почему это помечено Fortran? У вас есть какой-либо код Fortran?Все вопросы здесь должны касаться некоторой проблемы с кодом или кодированием. –

+0

Подпрограммы Abaqus написаны на языке Fortran. Этот вопрос касается исключительно взаимодействия Фортрана и Абакуса и доступа к результатам, а не механики или физики позади FEM. Поэтому я подумал, что это подходящее место, чтобы спросить об этом. В любом случае, я думаю, что сам понял. Я отправлю ответ позже, чтобы другие люди с подобной проблемой могли его найти. – UN4

ответ

2

Хорошо, я понял это. Ключ 1900 в .fil файла печатается до положения читальном по умолчанию команды

call DBFILE(0,ARRAY,JRCD) 

Для того, чтобы получить нужный ключ файла позицию чтения необходимо сбросить

call DBFILE(2,ARRAY,JRCD) 

Но проблема заключается в том, что ключи 1900, 1901, 1933 и т. Д. Создаются для каждого элемента модели независимо от вашего указанного elset. Таким образом, я написал небольшую подпрограмму для создания массива крепежных элементов с их номером элемента и соответствующим номером узла.

 subroutine obtain_relation(REL) 
     INCLUDE 'ABA_PARAM.INC' 
     DIMENSION ARRAY(513),JRRAY(NPRECD,513),REL(500,3) 
     character*8 CVALUE 
     EQUIVALENCE (ARRAY(1),JRRAY(1,1)), (ARRAY(4),CVALUE)     
     !Rewinding the file 
     CALL DBFILE(2,ARRAY,JRCD) 
     i = 1 
     DO K1=1,999999 
      !Start reading output file 
      CALL DBFILE(0,ARRAY,JRCD) 
      !If the end of the end of pre-step records go to 120 
      IF (KEY .EQ. 2000) GO TO 120 
      !If the end of all records is reached go to position 120 
      IF (JRCD .NE. 0) GO TO 120 
      !The key of the output table is at second possition (first is length of 
      !the array)   
      KEY=JRRAY(1,2) 
      ! Record 1900 contains information about element conectivity 
      IF (KEY .EQ. 1900) THEN 
       IF(trim(CVALUE).eq."CONN3D2") then 
        Rel(i,1) = JRRAY (1,3) ! <- Element number 
        Rel(i,2) = JRRAY (1,5) ! <- First node number 
        i = i + 1 
       END IF 
      END IF 

     ENDDO   
120 Continue 
     Return 
     end 

Вызова этой подпрограмма только один раз в начале анализа после вызова POSFIL внутри URDFIL, и он будет возвращать двойную точность 3 размерной матрицу с первой колонкой, содержащим крепежный номером элемента, вторым столбцом - первым узлом, соответствующими крепежным элементом и последний пуст. Я использовал последний столбец для хранения соответствующих сил.

Надеюсь, это было полезно для кого-то.

 Смежные вопросы

  • Нет связанных вопросов^_^