introduced preprocessor statements in mesh to hide unneeded variables as a preparation for HDF5
This commit is contained in:
parent
5267c0fdbb
commit
5b4b132176
11
code/IO.f90
11
code/IO.f90
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -87,14 +87,17 @@ 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]
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue