본문 바로가기
ABAQUS/Subroutine

Abaqus 서브루틴 - UEXTERNALDB -

by Ori & Azi 2024. 1. 10.
728x90
반응형

텍스트 파일과 서브루틴 간의 통신을 처리하려면 단계 시작 시 호출할 수 있는 보다 다양한 서브루틴이 필요합니다. 이런 종류의 작업에 사용되는 사용자 서브루틴은 UEXTERNALDB 입니다 . 이 서브루틴은 시뮬레이션의 어떤 것도 직접 수정하기 위한 것이 아니지만 분석의 시작과 끝, 단계의 시작과 끝, 각 증분의 시작과 끝 , 등.  시뮬레이션 전반에 걸쳐 다양한 경우에 호출 됩니다 . 

 

UEXTERNALDB 서브루틴은 외부 파일을 관리 하고 나머지 서브루틴(우리의 경우 DISP 및 URDFIL)과 통신하기 위한 최선의 선택입니다.

 

User subroutine UEXTERNALDB:

  • 분석 시작 시, 각 증분 시작 시, 각 증분 종료 시, 분석 종료 시 각각 한 번씩 호출됩니다. 또한 사용자 서브루틴은 분석 재시작 시작 시에도 한 번씩 호출됩니다. );
  • Abaqus/Standard 내에서 다른 소프트웨어와 사용자 서브루틴 간의 통신에 사용할 수 있습니다 .
  • 분석 시작 시 다른 사용자 서브루틴에 필요한 외부 파일을 열고 분석이 끝날 때 해당 파일을 닫는 데 사용할 수 있습니다.
  • 각 증분의 시작 부분에서 기록 정보를 계산하거나 읽는 데 사용할 수 있습니다. 이 정보는 다른 사용자 서브루틴에 의한 분석 중에 사용하기 위해 사용자 정의 COMMON 블록 변수 또는 외부 파일에 기록될 수 있습니다. 그리고
  • 사용자가 계산한 이력 정보의 현재 값을 외부 파일에 쓰는 데 사용할 수 있습니다.

User subroutine interface

      SUBROUTINE UEXTERNALDB(LOP,LRESTART,TIME,DTIME,KSTEP,KINC)
C
      INCLUDE 'ABA_PARAM.INC'
C
      DIMENSION TIME(2)
C
      user coding to set up the Fortran environment, open files, close files, 
      calculate user-defined model-independent history information,
      write history information to external files,
      recover history information during restart analyses, etc.
      do not include calls to utility routine XIT


      RETURN
      END

 

Variables to be defined

없음

 

Variables passed in for information

LOP

LOP =0은 분석 시작 시 사용자 서브루틴이 호출되고 있음을 나타냅니다.

LOP =1은 현재 분석 증분 시작 시 사용자 서브루틴이 호출되고 있음을 나타냅니다. 증분이 수렴하지 못하고 더 작은 시간 증분이 필요한 경우 분석 증분 시작 시 사용자 서브루틴을 여러 번 호출할 수 있습니다.

LOP =2는 현재 분석 증분이 끝날 때 사용자 서브루틴이 호출되고 있음을 나타냅니다. LOP =2 인 경우 해석을 다시 시작하는 데 필요한 모든 정보를 외부 파일에 기록해야 합니다.

LOP =3은 분석이 끝날 때 사용자 서브루틴이 호출되고 있음을 나타냅니다.

LOP =4는 재시작 분석 시작 시 사용자 서브루틴이 호출되고 있음을 나타냅니다. LOP =4 인 경우 필요한 모든 외부 파일을 열고 적절한 위치에 배치해야 하며 재시작에 필요한 모든 정보를 외부 파일에서 읽어야 합니다.

LOP =5는 단계 시작 시 사용자 서브루틴이 호출되고 있음을 나타냅니다. KSTEP 인수 에는 현재 단계 번호가 포함됩니다.

LOP =6은 단계 끝에서 사용자 서브루틴이 호출되고 있음을 나타냅니다. KSTEP 인수 에는 현재 단계 번호가 포함됩니다.

 

LRESTART

LRESTART =0은 분석 다시 시작 파일이 이 증분에 대해 기록되지 않음을 나타냅니다.

LRESTART =1은 이 증분에 대해 분석 다시 시작 파일이 작성되고 있음을 나타냅니다.

LRESTART =2는 이 증분에 대해 분석 다시 시작 파일이 작성되고 있으며 현재 증분이 다시 시작 파일의 이전 증분을 덮어쓰도록 단계당 하나의 증분만 유지됨을 나타냅니다.

 

TIME(1)

Value of current step time.

 

TIME(2)

Value of current total time.

 

DTIME

Time increment.

 

KSTEP

Current step number. For LOP=0 or LOP=4, KSTEP is 0.

 

KINC

Current increment number. For LOP=0 or LOP=4, KINC is 0.

728x90
반응형

'ABAQUS > Subroutine' 카테고리의 다른 글

Abaqus 서브루틴 - UEXTERNALDB -  (0) 2024.01.09
Abaqus Keyword -*BOUNDARY-  (0) 2024.01.09
Abaqus keyword -*Restart-  (0) 2024.01.09
Abaqus 서브루틴 -Restarting an Analysis-  (0) 2024.01.08
Abaqus 서브루틴 - UEXTERNALDB -  (0) 2024.01.05