introduced preprocessor statements in mesh to hide unneeded variables as a preparation for HDF5

This commit is contained in:
Martin Diehl 2013-12-27 20:03:28 +00:00
parent 5267c0fdbb
commit 5b4b132176
4 changed files with 26 additions and 14 deletions

View File

@ -353,7 +353,7 @@ character(len=1024) function getLoadCaseFile(loadCaseParameter)
cwd cwd
integer :: posExt, posSep integer :: posExt, posSep
character :: pathSep character :: pathSep
getLoadCaseFile = loadcaseParameter getLoadCaseFile = loadcaseParameter
pathSep = getPathSep() pathSep = getPathSep()
posExt = scan(getLoadCaseFile,'.',back=.true.) posExt = scan(getLoadCaseFile,'.',back=.true.)

View File

@ -91,9 +91,6 @@ module IO
abaqus_assembleInputFile abaqus_assembleInputFile
#endif #endif
external :: &
quit
contains contains
@ -364,8 +361,8 @@ end subroutine IO_open_logFile
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
!> @brief opens FEM log file for writing to given unit. File is named after solver job name and !> @brief opens ASCII file to given unit for writing. File is named after solver job name plus
!! located in current working directory !! given extension and located in current working directory
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
subroutine IO_write_jobFile(fileUnit,ext) subroutine IO_write_jobFile(fileUnit,ext)
use DAMASK_interface, only: & use DAMASK_interface, only: &
@ -1395,6 +1392,7 @@ function IO_continuousIntValues(fileUnit,maxN,lookupName,lookupMap,lookupMaxN)
!> @brief returns format string for integer values without leading zeros !> @brief returns format string for integer values without leading zeros
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
pure function IO_intOut(intToPrint) pure function IO_intOut(intToPrint)
implicit none implicit none
character(len=16) :: N_Digits character(len=16) :: N_Digits
character(len=34) :: IO_intOut character(len=34) :: IO_intOut
@ -1410,6 +1408,7 @@ end function IO_intOut
!> @brief returns time stamp !> @brief returns time stamp
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
function IO_timeStamp() function IO_timeStamp()
implicit none implicit none
character(len=10) :: IO_timeStamp character(len=10) :: IO_timeStamp
integer(pInt), dimension(8) :: values integer(pInt), dimension(8) :: values
@ -1425,11 +1424,13 @@ end function IO_timeStamp
!> in ABAQUS either time step is reduced or execution terminated !> in ABAQUS either time step is reduced or execution terminated
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
subroutine IO_error(error_ID,el,ip,g,ext_msg) subroutine IO_error(error_ID,el,ip,g,ext_msg)
implicit none implicit none
integer(pInt), intent(in) :: error_ID integer(pInt), intent(in) :: error_ID
integer(pInt), optional, intent(in) :: el,ip,g integer(pInt), optional, intent(in) :: el,ip,g
character(len=*), optional, intent(in) :: ext_msg character(len=*), optional, intent(in) :: ext_msg
external :: quit
character(len=1024) :: msg character(len=1024) :: msg
character(len=1024) :: formatString character(len=1024) :: formatString

View File

@ -446,7 +446,7 @@ pure function math_range(N)
integer(pInt) :: i integer(pInt) :: i
integer(pInt), dimension(N) :: math_range integer(pInt), dimension(N) :: math_range
forall (i=1_pInt:N) math_range(i) = i math_range = [(i,i=1_pInt,N)]
end function math_range end function math_range

View File

@ -87,19 +87,22 @@ module mesh
integer(pInt), dimension(2), private :: & integer(pInt), dimension(2), private :: &
mesh_maxValStateVar = 0_pInt mesh_maxValStateVar = 0_pInt
#ifndef Spectral
character(len=64), dimension(:), allocatable, private :: & character(len=64), dimension(:), allocatable, private :: &
mesh_nameElemSet, & !< names of elementSet mesh_nameElemSet, & !< names of elementSet
mesh_nameMaterial, & !< names of material in solid section mesh_nameMaterial, & !< names of material in solid section
mesh_mapMaterial !< name of elementSet for material mesh_mapMaterial !< name of elementSet for material
integer(pInt), dimension(:,:), allocatable, private :: & integer(pInt), dimension(:,:), allocatable, private :: &
mesh_cellnodeParent, & !< cellnode's parent element ID, cellnode's intra-element ID
mesh_mapElemSet !< list of elements in elementSet mesh_mapElemSet !< list of elements in elementSet
#endif
integer(pInt), dimension(:,:), allocatable, private :: &
mesh_cellnodeParent !< cellnode's parent element ID, cellnode's intra-element ID
integer(pInt), dimension(:,:), allocatable, target, private :: & integer(pInt), dimension(:,:), allocatable, target, private :: &
mesh_mapFEtoCPelem, & !< [sorted FEid, corresponding CPid] mesh_mapFEtoCPelem, & !< [sorted FEid, corresponding CPid]
mesh_mapFEtoCPnode !< [sorted FEid, corresponding CPid] mesh_mapFEtoCPnode !< [sorted FEid, corresponding CPid]
integer(pInt),dimension(:,:,:), allocatable, private :: & integer(pInt),dimension(:,:,:), allocatable, private :: &
mesh_cell !< cell connectivity for each element,ip/cell mesh_cell !< cell connectivity for each element,ip/cell
@ -3697,8 +3700,8 @@ subroutine mesh_build_ipAreas
real(pReal), dimension (3,FE_maxNcellnodesPerCellface) :: nodePos, normals real(pReal), dimension (3,FE_maxNcellnodesPerCellface) :: nodePos, normals
real(pReal), dimension(3) :: normal real(pReal), dimension(3) :: normal
allocate(mesh_ipArea(mesh_maxNipNeighbors,mesh_maxNips,mesh_NcpElems)); mesh_ipArea = 0.0_pReal allocate(mesh_ipArea(mesh_maxNipNeighbors,mesh_maxNips,mesh_NcpElems), source=0.0_pReal)
allocate(mesh_ipAreaNormal(3_pInt,mesh_maxNipNeighbors,mesh_maxNips,mesh_NcpElems)); mesh_ipAreaNormal = 0.0_pReal allocate(mesh_ipAreaNormal(3_pInt,mesh_maxNipNeighbors,mesh_maxNips,mesh_NcpElems), source=0.0_pReal)
!$OMP PARALLEL DO PRIVATE(t,g,c,nodePos,normal,normals) !$OMP PARALLEL DO PRIVATE(t,g,c,nodePos,normal,normals)
do e = 1_pInt,mesh_NcpElems ! loop over cpElems do e = 1_pInt,mesh_NcpElems ! loop over cpElems
@ -3898,7 +3901,7 @@ end subroutine mesh_build_sharedElems
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
!> @brief build up of IP neighborhood, allocate globals '_ipNeighborhood' !> @brief build up of IP neighborhood, allocate globals '_ipNeighborhood'
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
subroutine mesh_build_ipNeighborhood subroutine mesh_build_ipNeighborhood
use math, only: & use math, only: &
@ -5125,14 +5128,18 @@ subroutine mesh_write_cellGeom
title=trim(getSolverJobName())//' cell mesh', & title=trim(getSolverJobName())//' cell mesh', &
filename = trim(getSolverWorkingDirectoryName())//trim(getSolverJobName())//'_ipbased.vtk', & filename = trim(getSolverWorkingDirectoryName())//trim(getSolverJobName())//'_ipbased.vtk', &
mesh_topology = 'UNSTRUCTURED_GRID') mesh_topology = 'UNSTRUCTURED_GRID')
!ToDo: check error here
error=VTK_geo(NN = int(mesh_Ncellnodes,I4P), & error=VTK_geo(NN = int(mesh_Ncellnodes,I4P), &
X = mesh_cellnode(1,1:mesh_Ncellnodes), & X = mesh_cellnode(1,1:mesh_Ncellnodes), &
Y = mesh_cellnode(2,1:mesh_Ncellnodes), & Y = mesh_cellnode(2,1:mesh_Ncellnodes), &
Z = mesh_cellnode(3,1:mesh_Ncellnodes)) Z = mesh_cellnode(3,1:mesh_Ncellnodes))
!ToDo: check error here
error=VTK_con(NC = int(mesh_Ncells,I4P), & error=VTK_con(NC = int(mesh_Ncells,I4P), &
connect = cellconnection(1:j), & connect = cellconnection(1:j), &
!ToDo: check error here
cell_type = celltype) cell_type = celltype)
error=VTK_end() error=VTK_end()
!ToDo: check error here
end subroutine mesh_write_cellGeom end subroutine mesh_write_cellGeom
@ -5173,14 +5180,18 @@ subroutine mesh_write_elemGeom
title=trim(getSolverJobName())//' element mesh', & title=trim(getSolverJobName())//' element mesh', &
filename = trim(getSolverWorkingDirectoryName())//trim(getSolverJobName())//'_nodebased.vtk', & filename = trim(getSolverWorkingDirectoryName())//trim(getSolverJobName())//'_nodebased.vtk', &
mesh_topology = 'UNSTRUCTURED_GRID') mesh_topology = 'UNSTRUCTURED_GRID')
!ToDo: check error here
error=VTK_geo(NN = int(mesh_Nnodes,I4P), & error=VTK_geo(NN = int(mesh_Nnodes,I4P), &
X = mesh_node0(1,1:mesh_Nnodes), & X = mesh_node0(1,1:mesh_Nnodes), &
Y = mesh_node0(2,1:mesh_Nnodes), & Y = mesh_node0(2,1:mesh_Nnodes), &
Z = mesh_node0(3,1:mesh_Nnodes)) Z = mesh_node0(3,1:mesh_Nnodes))
!ToDo: check error here
error=VTK_con(NC = int(mesh_Nelems,I4P), & error=VTK_con(NC = int(mesh_Nelems,I4P), &
connect = elementconnection(1:i), & connect = elementconnection(1:i), &
cell_type = elemtype) cell_type = elemtype)
!ToDo: check error here
error =VTK_end() error =VTK_end()
!ToDo: check error here
end subroutine mesh_write_elemGeom end subroutine mesh_write_elemGeom