This commit is contained in:
Martin Diehl 2019-05-17 12:43:42 +02:00
parent 0fe43c50ab
commit c6b5d45944
1 changed files with 11 additions and 50 deletions

View File

@ -6,6 +6,7 @@
!> @brief Sets up the mesh for the solver MSC.Marc !> @brief Sets up the mesh for the solver MSC.Marc
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
module mesh module mesh
use IO
use prec use prec
use mesh_base use mesh_base
@ -414,12 +415,6 @@ end subroutine mesh_init
!> @brief Figures out version of Marc input file format !> @brief Figures out version of Marc input file format
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
integer function mesh_marc_get_fileFormat(fileUnit) integer function mesh_marc_get_fileFormat(fileUnit)
use IO, only: &
IO_lc, &
IO_intValue, &
IO_stringValue, &
IO_stringPos
integer, intent(in) :: fileUnit integer, intent(in) :: fileUnit
@ -445,12 +440,6 @@ integer function mesh_marc_get_fileFormat(fileUnit)
!> @brief Figures out table styles for initial cond and hypoelastic !> @brief Figures out table styles for initial cond and hypoelastic
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
subroutine mesh_marc_get_tableStyles(initialcond, hypoelastic,fileUnit) subroutine mesh_marc_get_tableStyles(initialcond, hypoelastic,fileUnit)
use IO, only: &
IO_lc, &
IO_intValue, &
IO_stringValue, &
IO_stringPos
integer, intent(out) :: initialcond, hypoelastic integer, intent(out) :: initialcond, hypoelastic
integer, intent(in) :: fileUnit integer, intent(in) :: fileUnit
@ -480,24 +469,16 @@ subroutine mesh_marc_get_tableStyles(initialcond, hypoelastic,fileUnit)
!> @brief Figures out material number of hypoelastic material !> @brief Figures out material number of hypoelastic material
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
function mesh_marc_get_matNumber(fileUnit,tableStyle) function mesh_marc_get_matNumber(fileUnit,tableStyle)
use IO, only: &
IO_lc, &
IO_intValue, &
IO_stringValue, &
IO_stringPos
integer, intent(in) :: fileUnit, tableStyle integer, intent(in) :: fileUnit, tableStyle
integer, dimension(:), allocatable :: mesh_marc_get_matNumber integer, dimension(:), allocatable :: mesh_marc_get_matNumber
integer, allocatable, dimension(:) :: chunkPos integer, allocatable, dimension(:) :: chunkPos
integer :: i, j, data_blocks integer :: i, j, data_blocks
character(len=300) line character(len=300) :: line
rewind(fileUnit)
data_blocks = 1 data_blocks = 1
rewind(fileUnit)
do do
read (fileUnit,'(A300)',END=620) line read (fileUnit,'(A300)',END=620) line
chunkPos = IO_stringPos(line) chunkPos = IO_stringPos(line)
@ -528,18 +509,12 @@ function mesh_marc_get_matNumber(fileUnit,tableStyle)
!> @brief Count overall number of nodes and elements !> @brief Count overall number of nodes and elements
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
subroutine mesh_marc_count_nodesAndElements(nNodes, nElems, fileUnit) subroutine mesh_marc_count_nodesAndElements(nNodes, nElems, fileUnit)
use IO, only: &
IO_lc, &
IO_stringValue, &
IO_stringPos, &
IO_IntValue
integer, intent(in) :: fileUnit integer, intent(in) :: fileUnit
integer, intent(out) :: nNodes, nElems integer, intent(out) :: nNodes, nElems
integer, allocatable, dimension(:) :: chunkPos integer, allocatable, dimension(:) :: chunkPos
character(len=300) line character(len=300) :: line
nNodes = 0 nNodes = 0
nElems = 0 nElems = 0
@ -565,13 +540,7 @@ subroutine mesh_marc_count_nodesAndElements(nNodes, nElems, fileUnit)
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
!> @brief Count overall number of element sets in mesh. !> @brief Count overall number of element sets in mesh.
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
subroutine mesh_marc_count_elementSets(nElemSets,maxNelemInSet,fileUnit) subroutine mesh_marc_count_elementSets(nElemSets,maxNelemInSet,fileUnit)
use IO, only: &
IO_lc, &
IO_stringValue, &
IO_stringPos, &
IO_countContinuousIntValues
integer, intent(in) :: fileUnit integer, intent(in) :: fileUnit
integer, intent(out) :: nElemSets, maxNelemInSet integer, intent(out) :: nElemSets, maxNelemInSet
@ -602,17 +571,9 @@ subroutine mesh_marc_count_nodesAndElements(nNodes, nElems, fileUnit)
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
subroutine mesh_marc_map_elementSets(nameElemSet,mapElemSet,fileUnit) subroutine mesh_marc_map_elementSets(nameElemSet,mapElemSet,fileUnit)
use IO, only: IO_lc, &
IO_stringValue, &
IO_stringPos, &
IO_continuousIntValues
integer, intent(in) :: fileUnit integer, intent(in) :: fileUnit
character(len=64), dimension(:), intent(out) :: & character(len=64), dimension(:), intent(out) :: nameElemSet
nameElemSet integer, dimension(:,:), intent(out) :: mapElemSet
integer, dimension(:,:), intent(out) :: &
mapElemSet
integer, allocatable, dimension(:) :: chunkPos integer, allocatable, dimension(:) :: chunkPos
character(len=300) :: line character(len=300) :: line