fixed closing of file (unit 222) statement in FEsolving.f90
added missing keyword in mesh.f90 with ifndef Spectral statement (needed for Marc and Abaqus)
This commit is contained in:
parent
06be437bc9
commit
481268c8c2
|
@ -166,11 +166,11 @@ subroutine FE_init
|
||||||
endif
|
endif
|
||||||
enddo
|
enddo
|
||||||
#endif
|
#endif
|
||||||
|
200 close(fileunit)
|
||||||
else
|
else
|
||||||
modelName = getSolverJobName()
|
modelName = getSolverJobName()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
200 close(fileunit)
|
|
||||||
#endif
|
#endif
|
||||||
!$OMP CRITICAL (write2out)
|
!$OMP CRITICAL (write2out)
|
||||||
write(6,*)
|
write(6,*)
|
||||||
|
|
|
@ -366,7 +366,6 @@ subroutine mesh_init(ip,element)
|
||||||
call mesh_build_FEdata ! get properties of the different types of elements
|
call mesh_build_FEdata ! get properties of the different types of elements
|
||||||
#ifdef Spectral
|
#ifdef Spectral
|
||||||
call IO_open_file(fileUnit,geometryFile) ! parse info from geometry file...
|
call IO_open_file(fileUnit,geometryFile) ! parse info from geometry file...
|
||||||
|
|
||||||
call mesh_spectral_count_nodesAndElements(fileUnit)
|
call mesh_spectral_count_nodesAndElements(fileUnit)
|
||||||
call mesh_spectral_count_cpElements
|
call mesh_spectral_count_cpElements
|
||||||
call mesh_spectral_map_elements
|
call mesh_spectral_map_elements
|
||||||
|
@ -2572,15 +2571,17 @@ use IO, only: &
|
||||||
IO_stringValue, &
|
IO_stringValue, &
|
||||||
IO_stringPos
|
IO_stringPos
|
||||||
|
|
||||||
implicit none
|
implicit none
|
||||||
integer(pInt), intent(in) :: myUnit
|
integer(pInt), intent(in) :: myUnit
|
||||||
|
|
||||||
integer(pInt), parameter :: maxNchunks = 5_pInt
|
integer(pInt), parameter :: maxNchunks = 5_pInt
|
||||||
integer(pInt), dimension (1+2*maxNchunks) :: myPos
|
integer(pInt), dimension (1+2*maxNchunks) :: myPos
|
||||||
integer(pInt) chunk, Nchunks
|
integer(pInt) chunk, Nchunks
|
||||||
character(len=300) line, damaskOption, v
|
character(len=300) :: line, damaskOption, v
|
||||||
|
#ifndef Spectral
|
||||||
mesh_periodicSurface = .false.
|
character(len=300) :: keyword
|
||||||
|
#endif
|
||||||
|
mesh_periodicSurface = .false.
|
||||||
|
|
||||||
610 FORMAT(A300)
|
610 FORMAT(A300)
|
||||||
|
|
||||||
|
@ -2591,37 +2592,37 @@ mesh_periodicSurface = .false.
|
||||||
keyword = '**damask'
|
keyword = '**damask'
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
rewind(myUnit)
|
rewind(myUnit)
|
||||||
do
|
do
|
||||||
read (myUnit,610,END=620) line
|
read (myUnit,610,END=620) line
|
||||||
myPos = IO_stringPos(line,maxNchunks)
|
myPos = IO_stringPos(line,maxNchunks)
|
||||||
Nchunks = myPos(1)
|
Nchunks = myPos(1)
|
||||||
#ifndef Spectral
|
#ifndef Spectral
|
||||||
if (IO_lc(IO_stringValue(line,myPos,1_pInt)) == keyword .and. Nchunks > 1_pInt) then ! found keyword for damask option and there is at least one more chunk to read
|
if (IO_lc(IO_stringValue(line,myPos,1_pInt)) == keyword .and. Nchunks > 1_pInt) then ! found keyword for damask option and there is at least one more chunk to read
|
||||||
damaskOption = IO_lc(IO_stringValue(line,myPos,2_pInt))
|
damaskOption = IO_lc(IO_stringValue(line,myPos,2_pInt))
|
||||||
select case(damaskOption)
|
select case(damaskOption)
|
||||||
case('periodic') ! damask Option that allows to specify periodic fluxes
|
case('periodic') ! damask Option that allows to specify periodic fluxes
|
||||||
do chunk = 3_pInt,Nchunks ! loop through chunks (skipping the keyword)
|
do chunk = 3_pInt,Nchunks ! loop through chunks (skipping the keyword)
|
||||||
|
v = IO_lc(IO_stringValue(line,myPos,chunk)) ! chunk matches keyvalues x,y, or z?
|
||||||
|
mesh_periodicSurface(1) = mesh_periodicSurface(1) .or. v == 'x'
|
||||||
|
mesh_periodicSurface(2) = mesh_periodicSurface(2) .or. v == 'y'
|
||||||
|
mesh_periodicSurface(3) = mesh_periodicSurface(3) .or. v == 'z'
|
||||||
|
enddo
|
||||||
|
endselect
|
||||||
|
endif
|
||||||
|
#else
|
||||||
|
damaskOption = IO_lc(IO_stringValue(line,myPos,1_pInt))
|
||||||
|
select case(damaskOption)
|
||||||
|
case('periodic') ! damask Option that allows to specify periodic fluxes
|
||||||
|
do chunk = 2_pInt,Nchunks ! loop through chunks (skipping the keyword)
|
||||||
v = IO_lc(IO_stringValue(line,myPos,chunk)) ! chunk matches keyvalues x,y, or z?
|
v = IO_lc(IO_stringValue(line,myPos,chunk)) ! chunk matches keyvalues x,y, or z?
|
||||||
mesh_periodicSurface(1) = mesh_periodicSurface(1) .or. v == 'x'
|
mesh_periodicSurface(1) = mesh_periodicSurface(1) .or. v == 'x'
|
||||||
mesh_periodicSurface(2) = mesh_periodicSurface(2) .or. v == 'y'
|
mesh_periodicSurface(2) = mesh_periodicSurface(2) .or. v == 'y'
|
||||||
mesh_periodicSurface(3) = mesh_periodicSurface(3) .or. v == 'z'
|
mesh_periodicSurface(3) = mesh_periodicSurface(3) .or. v == 'z'
|
||||||
enddo
|
enddo
|
||||||
endselect
|
endselect
|
||||||
endif
|
|
||||||
#else
|
|
||||||
damaskOption = IO_lc(IO_stringValue(line,myPos,1_pInt))
|
|
||||||
select case(damaskOption)
|
|
||||||
case('periodic') ! damask Option that allows to specify periodic fluxes
|
|
||||||
do chunk = 2_pInt,Nchunks ! loop through chunks (skipping the keyword)
|
|
||||||
v = IO_lc(IO_stringValue(line,myPos,chunk)) ! chunk matches keyvalues x,y, or z?
|
|
||||||
mesh_periodicSurface(1) = mesh_periodicSurface(1) .or. v == 'x'
|
|
||||||
mesh_periodicSurface(2) = mesh_periodicSurface(2) .or. v == 'y'
|
|
||||||
mesh_periodicSurface(3) = mesh_periodicSurface(3) .or. v == 'z'
|
|
||||||
enddo
|
|
||||||
endselect
|
|
||||||
#endif
|
#endif
|
||||||
enddo
|
enddo
|
||||||
|
|
||||||
620 end subroutine mesh_get_damaskOptions
|
620 end subroutine mesh_get_damaskOptions
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue