DAMASK_abaqus.f解读

本文深入解析DAMASK材料模型在ABAQUS中的应用接口,通过.abaqus.f文件详细介绍如何将DAMASK的复杂材料行为集成到ABAQUS模拟中,涉及材料参数设置、模型转换及求解过程。
摘要由CSDN通过智能技术生成
! Copyright 2011-19 Max-Planck-Institut für Eisenforschung GmbH
! 
! DAMASK is free software: you can redistribute it and/or modify
! it under the terms of the GNU General Public License as published by
! the Free Software Foundation, either version 3 of the License, or
! (at your option) any later version.
! 
! This program is distributed in the hope that it will be useful,
! but WITHOUT ANY WARRANTY; without even the implied warranty of
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! GNU General Public License for more details.
! 
! You should have received a copy of the GNU General Public License
! along with this program. If not, see <http://www.gnu.org/licenses/>.
!--------------------------------------------------------------------------------------------------
!> @author Philip Eisenlohr, Max-Planck-Institut für Eisenforschung GmbH
!> @author Franz Roters, Max-Planck-Institut für Eisenforschung GmbH
!> @author Koen Janssens, Paul Scherrer Institut
!> @author Arun Prakash, Fraunhofer IWM
!> @author Martin Diehl, Max-Planck-Institut für Eisenforschung GmbH
!> @brief interfaces DAMASK with Abaqus/Standard
!> @details put the included file abaqus_v6.env in either your home or model directory, 
!> it is a minimum Abaqus environment file  containing all changes necessary to use the 
!> DAMASK subroutine (see Abaqus documentation for more information on the use of abaqus_v6.env)
!> @details  Abaqus subroutines used:
!> @details   - UMAT
!> @details   - DFLUX
!--------------------------------------------------------------------------------------------------
#define Abaqus

#include "prec.f90"

module DAMASK_interface

 implicit none
 private
 character(len=4), dimension(2),  parameter, public :: INPUTFILEEXTENSION = ['.pes','.inp']
 character(len=4),                parameter, public :: LOGFILEEXTENSION   =  '.log'
 
 public :: &
  DAMASK_interface_init, &
  getSolverJobName

contains

!--------------------------------------------------------------------------------------------------
!> @brief reports and sets working directory
!--------------------------------------------------------------------------------------------------
subroutine DAMASK_interface_init
#if __INTEL_COMPILER >= 1800
 use, intrinsic :: iso_fortran_env, only: &
   compiler_version, &
   compiler_options
#endif
 use ifport, only: &
   CHDIR
 
 implicit none
 integer, dimension(8) :: &
   dateAndTime
 integer :: lenOutDir,ierr
 character(len=256) :: wd

 write(6,'(/,a)') ' <<<+-  DAMASK_abaqus init -+>>>'

 write(6,'(/,a)') ' Roters et al., Computational Materials Science 158:420–478, 2019'
 write(6,'(a)')   ' https://doi.org/10.1016/j.commatsci.2018.04.030'

 write(6,'(/,a)') ' Version: '//DAMASKVERSION

! https://github.com/jeffhammond/HPCInfo/blob/master/docs/Preprocessor-Macros.md
#if __INTEL_COMPILER >= 1800
 write(6,'(/,a)') ' Compiled with: '//compiler_version()
 write(6,'(a)')   ' Compiler options: '//compiler_options()
#else
 write(6,'(/,a,i4.4,a,i8.8)') ' Compiled with Intel fortran version :', __INTEL_COMPILER,&
                                                      ', build date :', __INTEL_COMPILER_BUILD_DATE
#endif

 write(6,'(/,a)') ' Compiled on: '//__DATE__//' at '//__TIME__

 call date_and_time(values = dateAndTime)
 write(6,'(/,a,2(i2.2,a),i4.4)') ' Date: ',dateAndTime(3),'/',dateAndTime(2),'/', dateAndTime(1)
 write(6,'(a,2(i2.2,a),i2.2)')   ' Time: ',dateAndTime(5),':', dateAndTime(6),':', dateAndTime(7)

 call getoutdir(wd, lenOutDir)
 ierr = CHDIR(wd)
 if (ierr /= 0) then
   write(6,'(a20,a,a16)') ' working directory "',trim(wd),'" does not exist'
   call quit(1)
 endif

end subroutine DAMASK_interface_init


!--------------------------------------------------------------------------------------------------
!> @brief using Abaqus/Standard 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值