콘텐츠로 이동

사용자 정의 외력 처리를 위한 서브루틴 (uload.f)

사용자 정의 외력을 처리하기 위한 인터페이스를 제공합니다.

사용자 정의 외력을 사용하려면 먼저 외력을 정의하기 위한 수치 구조체 tULoad를 정의하고, 입력 파일에서 !ULOAD, FILE=ファイル名을 사용하여 파일명으로 지정된 파일에서 정의를 읽습니다. 그런 다음 다음 인터페이스를 사용하여 외력을 반영합니다.

(1) 외력 읽기 서브루틴

integer function ureadload( fname )
    character(len=\*), intent(in) :: fname
  • fname: 외부 파일명. 이 파일에서 사용자 정의 외력을 읽습니다.

(2) 외력을 전체 하중 벡터에 반영하는 서브루틴

subroutine uloading( cstep, factor, exForce )
    integer, INTENT(IN) :: cstep
    REAL(KIND=kreal), INTENT(IN) :: factor
    REAL(KIND=kreal), INTENT(INOUT) :: exForce(:)
  • cstep: 현재 해석 스텝 번호
  • factor: 현재 스텝의 하중 계수
  • exForce: 전체 하중 벡터

(3) 잔류 응력 계산 서브루틴

subroutine uResidual( cstep, factor, residual )
    integer, INTENT(IN) :: cstep
    REAL(KIND=kreal), INTENT(IN) :: factor
    REAL(KIND=kreal), INTENT(INOUT) :: residual(:)
  • cstep: 현재 해석 스텝 번호
  • factor: 현재 스텝의 하중 계수
  • residual: 전체 잔류력 벡터