From 483584ceb3a7014f06a78201dfb14cb443204b8c Mon Sep 17 00:00:00 2001 From: Franz Roters Date: Tue, 11 May 2010 06:57:15 +0000 Subject: [PATCH] improved version of general I/O functions renamed module cpfem_interface to mpie_interface --- code/CPFEM.f90 | 2 +- code/IO.f90 | 18 ++++++++++-------- code/mesh.f90 | 2 +- code/mpie_cpfem_abaqus_exp.f | 33 ++++++++++++--------------------- code/mpie_cpfem_abaqus_std.f | 33 ++++++++++++--------------------- code/mpie_cpfem_marc.f90 | 33 +++++++++++++-------------------- 6 files changed, 49 insertions(+), 72 deletions(-) diff --git a/code/CPFEM.f90 b/code/CPFEM.f90 index 02e46a5a0..c229a02ce 100644 --- a/code/CPFEM.f90 +++ b/code/CPFEM.f90 @@ -130,7 +130,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, Temperature, dt, element, IP, cauchySt materialpoint_stressAndItsTangent, & materialpoint_postResults use IO, only: IO_init - use cpfem_interface + use mpie_interface implicit none diff --git a/code/IO.f90 b/code/IO.f90 index a85783105..cd6d0a379 100644 --- a/code/IO.f90 +++ b/code/IO.f90 @@ -47,14 +47,14 @@ endsubroutine logical function IO_open_file(unit,relPath) use prec, only: pInt - use cpfem_interface + use mpie_interface implicit none character(len=*), parameter :: pathSep = achar(47)//achar(92) ! /, \ character(len=*) relPath integer(pInt) unit - open(unit,status='old',err=100,file=trim(getWorkingDirectoryName())//relPath) + open(unit,status='old',err=100,file=trim(getSolverWorkingDirectoryName())//relPath) IO_open_file = .true. return 100 IO_open_file = .false. @@ -68,13 +68,14 @@ endsubroutine !******************************************************************** logical function IO_open_inputFile(unit) - use cpfem_interface use prec, only: pReal, pInt + use mpie_interface implicit none integer(pInt), intent(in) :: unit - open(unit,status='old',err=100,file=getInputFileName()) + open(unit,status='old',err=100,file=trim(getSolverWorkingDirectoryName())//& + trim(getSolverJobName())//InputFileExtension) IO_open_inputFile = .true. return 100 IO_open_inputFile = .false. @@ -90,13 +91,14 @@ endsubroutine logical function IO_open_jobFile(unit,newExt) use prec, only: pReal, pInt - use cpfem_interface + use mpie_interface implicit none integer(pInt), intent(in) :: unit character(*), intent(in) :: newExt - open(unit,status='replace',err=100,file=trim(getFullJobName())//'.'//newExt) + open(unit,status='replace',err=100,file=trim(getSolverWorkingDirectoryName())//& + trim(getSolverJobName())//'.'//newExt) IO_open_jobFile = .true. return 100 IO_open_jobFile = .false. @@ -765,7 +767,7 @@ endfunction !******************************************************************** function IO_countContinousIntValues (unit) - use cpfem_interface + use mpie_interface use prec, only: pReal,pInt implicit none @@ -823,7 +825,7 @@ endfunction !******************************************************************** function IO_continousIntValues (unit,maxN,lookupName,lookupMap,lookupMaxN) - use cpfem_interface + use mpie_interface use prec, only: pReal,pInt implicit none diff --git a/code/mesh.f90 b/code/mesh.f90 index 3203a13f7..688af6ef0 100644 --- a/code/mesh.f90 +++ b/code/mesh.f90 @@ -211,7 +211,7 @@ !*********************************************************** subroutine mesh_init (ip,element) - use cpfem_interface + use mpie_interface use prec, only: pInt use IO, only: IO_error,IO_open_InputFile use FEsolving, only: parallelExecution, FEsolving_execElem, FEsolving_execIP, calcMode, lastMode diff --git a/code/mpie_cpfem_abaqus_exp.f b/code/mpie_cpfem_abaqus_exp.f index bf3759f75..24fa5e3f9 100644 --- a/code/mpie_cpfem_abaqus_exp.f +++ b/code/mpie_cpfem_abaqus_exp.f @@ -17,9 +17,10 @@ include "prec.f90" ! uses nothing else -MODULE cpfem_interface +MODULE mpie_interface character(len=64), parameter :: FEsolver = 'Abaqus' +character(len=4), parameter :: InputFileExtension = '.inp' CONTAINS @@ -31,37 +32,27 @@ subroutine mpie_cpfem_init return end subroutine -function getWorkingDirectoryName +function getSolverWorkingDirectoryName use prec implicit none - character(1024) getWorkingDirectoryName + character(1024) getSolverWorkingDirectoryName integer(pInt) LENOUTDIR - getWorkingDirectoryName='' - CALL VGETOUTDIR( getWorkingDirectoryName, LENOUTDIR ) -! write(6,*) 'getWorkingDirectoryName', getWorkingDirectoryName + getSolverWorkingDirectoryName='' + CALL VGETOUTDIR( getSolverWorkingDirectoryName, LENOUTDIR ) +! write(6,*) 'getSolverWorkingDirectoryName', getSolverWorkingDirectoryName end function -function getFullJobName +function getSolverJobName use prec implicit none - character(1024) getFullJobName, JOBNAME + character(1024) getSolverJobName, JOBNAME integer(pInt) LENJOBNAME - getFullJobName='' - CALL VGETJOBNAME(JOBNAME , LENJOBNAME ) - getFullJobName=trim(getWorkingDirectoryName())//trim(JOBNAME) -! write(6,*) 'getFullJobName', getFullJobName -end function - -function getInputFileName - implicit none - character(1024) getInputFileName - - getInputFileName='' - getInputFileName=trim(getFullJobName())//'.inp' -! write(6,*) 'getInputFileName', getInputFileName + getSolverJobName='' + CALL VGETJOBNAME(getSolverJobName , LENJOBNAME ) +! write(6,*) 'getSolverJobName', getSolverJobName end function END MODULE diff --git a/code/mpie_cpfem_abaqus_std.f b/code/mpie_cpfem_abaqus_std.f index 2bd74a9b5..762e2465a 100644 --- a/code/mpie_cpfem_abaqus_std.f +++ b/code/mpie_cpfem_abaqus_std.f @@ -17,9 +17,10 @@ include "prec.f90" ! uses nothing else -MODULE cpfem_interface +MODULE mpie_interface character(len=64), parameter :: FEsolver = 'Abaqus' +character(len=4), parameter :: InputFileExtension = '.inp' CONTAINS @@ -31,37 +32,27 @@ subroutine mpie_cpfem_init return end subroutine -function getWorkingDirectoryName +function getSolverWorkingDirectoryName use prec implicit none - character(1024) getWorkingDirectoryName + character(1024) getSolverWorkingDirectoryName integer(pInt) LENOUTDIR - getWorkingDirectoryName='' - CALL GETOUTDIR( getWorkingDirectoryName, LENOUTDIR ) -! write(6,*) 'getWorkingDirectoryName', getWorkingDirectoryName + getSolverWorkingDirectoryName='' + CALL GETOUTDIR( getSolverWorkingDirectoryName, LENOUTDIR ) +! write(6,*) 'getSolverWorkingDirectoryName', getSolverWorkingDirectoryName end function -function getFullJobName +function getSolverJobName use prec implicit none - character(1024) getFullJobName, JOBNAME + character(1024) getSolverJobName, JOBNAME integer(pInt) LENJOBNAME - getFullJobName='' - CALL GETJOBNAME(JOBNAME , LENJOBNAME ) - getFullJobName=trim(getWorkingDirectoryName())//trim(JOBNAME) -! write(6,*) 'getFullJobName', getFullJobName -end function - -function getInputFileName - implicit none - character(1024) getInputFileName - - getInputFileName='' - getInputFileName=trim(getFullJobName())//'.inp' -! write(6,*) 'getInputFileName', getInputFileName + getSolverJobName='' + CALL GETJOBNAME(getSolverJobName , LENJOBNAME ) +! write(6,*) 'getSolverJobName', getSolverJobName end function END MODULE diff --git a/code/mpie_cpfem_marc.f90 b/code/mpie_cpfem_marc.f90 index 159590700..99319ff5c 100644 --- a/code/mpie_cpfem_marc.f90 +++ b/code/mpie_cpfem_marc.f90 @@ -39,9 +39,10 @@ include "prec.f90" ! uses nothing else -MODULE cpfem_interface +MODULE mpie_interface character(len=64), parameter :: FEsolver = 'Marc' +character(len=4), parameter :: InputFileExtension = '.dat' CONTAINS @@ -53,40 +54,32 @@ subroutine mpie_cpfem_init return end subroutine -function getWorkingDirectoryName +function getSolverWorkingDirectoryName implicit none - character(1024) getWorkingDirectoryName, outName + character(1024) getSolverWorkingDirectoryName, outName character(len=*), parameter :: pathSep = achar(47)//achar(92) ! /, \ - getWorkingDirectoryName='' + getSolverWorkingDirectoryName='' outName='' inquire(6, name=outName) ! determine outputfile - getWorkingDirectoryName=outName(1:scan(outName,pathSep,back=.true.)) -! write(6,*) 'getWorkingDirectoryName', getWorkingDirectoryName + getSolverWorkingDirectoryName=outName(1:scan(outName,pathSep,back=.true.)) +! write(6,*) 'getSolverWorkingDirectoryName', getSolverWorkingDirectoryName end function -function getFullJobName +function getSolverJobName use prec implicit none - character(1024) getFullJobName, outName + character(1024) getSolverJobName, outName + character(len=*), parameter :: pathSep = achar(47)//achar(92) ! /, \ integer(pInt) extPos - getFullJobName='' + getSolverJobName='' outName='' inquire(6, name=outName) ! determine outputfile extPos = len_trim(outName)-4 - getFullJobName=outName(1:extPos) -! write(6,*) 'getFullJobName', getFullJobName -end function - -function getInputFileName - implicit none - character(1024) getInputFileName - - getInputFileName='' - getInputFileName=trim(getFullJobName())//'.dat' -! write(6,*) 'getInputFileName', getInputFileName + getSolverJobName=outName(scan(outName,pathSep,back=.true.)+1:extPos) +! write(6,*) 'getSolverJobName', getSolverJobName end function END MODULE