Merge branch 'development' into 20-NewStyleDislotwin
This commit is contained in:
commit
a78d1d7556
2
PRIVATE
2
PRIVATE
|
@ -1 +1 @@
|
|||
Subproject commit a1f17cc3cad4ef0d620fb8633794cdcc9133120c
|
||||
Subproject commit 95fe109961c7e602ceed5fdca367c523ff613e54
|
|
@ -0,0 +1,58 @@
|
|||
#
|
||||
# DAMASK Abaqus Environment File
|
||||
#
|
||||
# ------------------------------------
|
||||
# originally taken from Abaqus ver. 6.11.1
|
||||
#
|
||||
#
|
||||
# Linux (Opteron/EM64T) Settings:
|
||||
#
|
||||
# Compile and Link command for user subroutines.
|
||||
# Compile_cpp and link_exe for Abaqus make utility.
|
||||
#
|
||||
import os, re, glob, driverUtils
|
||||
from damask import version as DAMASKVERSION
|
||||
|
||||
# Use the version in $PATH
|
||||
fortCmd = "ifort"
|
||||
|
||||
# -free to use free-format FORTRAN 90 syntax
|
||||
# -O <0-3> optimization level
|
||||
# -fpp use FORTRAN preprocessor on source code
|
||||
# -fopenmp build with openMP support
|
||||
# -w90 -w95 suppress messages about use of non-standard Fortran (previous version of abaqus_v6.env only)
|
||||
# -WB turn a compile-time bounds check into a warning (previous version of abaqus_v6.env only)
|
||||
# -mP2OPT_hpo_vec_divbyzero=F inofficial compiler switch, proposed by abaqus but highly dubios (previous version of abaqus_v6.env only)
|
||||
# -ftz flush underflow to zero
|
||||
# -diag-disable 5268 disable warnings about line length > 132 (only comments there anyway)
|
||||
# -implicitnone assume no implicit types (e.g. i for integer)
|
||||
# -standard-semantics sets standard (Fortran 2008) and some other conventions
|
||||
# -assume nostd_mod_proc_name avoid problems with libraries compiled without that option
|
||||
# -real-size 64 -DFLOAT=8 assume size of real to be 8 bytes, matches our definition of pReal
|
||||
# -integer-size 32 -DINT=4 assume size of integer to be 4 bytes, matches our definition of pInt
|
||||
|
||||
# 'check pointers' does not work
|
||||
|
||||
compile_fortran = (fortCmd + " -c -fPIC -auto -shared-intel " +
|
||||
"-I%I -free -O0 -fpp " +
|
||||
"-ftz -diag-disable 5268 " +
|
||||
"-implicitnone -standard-semantics " +
|
||||
"-assume nostd_mod_proc_name " +
|
||||
"-real-size 64 -integer-size 32 -DFLOAT=8 -DINT=4 " +
|
||||
"-check bounds,format,output_conversion,uninit " +
|
||||
"-ftrapuv -fpe-all0 " +
|
||||
"-g -traceback -gen-interfaces -fp-stack-check -fp-model strict " +
|
||||
'-DDAMASKVERSION=\\\"%s\\\"'%DAMASKVERSION)
|
||||
|
||||
# Abaqus/CAE will generate an input file without parts and assemblies.
|
||||
cae_no_parts_input_file=ON
|
||||
# Both the Abaqus/Explicit packager and analysis are run in double precision.
|
||||
double_precision=BOTH
|
||||
# The user will not be asked whether old job files of the same name should be deleted.
|
||||
ask_delete=OFF
|
||||
|
||||
# usub_lib_dir='your_prefered_location/abqlib'
|
||||
|
||||
# Remove the temporary names from the namespace
|
||||
del fortCmd
|
||||
del DAMASKVERSION
|
44
src/mesh.f90
44
src/mesh.f90
|
@ -528,25 +528,6 @@ subroutine mesh_init(ip,el)
|
|||
write(6,'(a15,a)') ' Current time: ',IO_timeStamp()
|
||||
#include "compilation_info.f90"
|
||||
|
||||
if (allocated(mesh_mapFEtoCPelem)) deallocate(mesh_mapFEtoCPelem)
|
||||
if (allocated(mesh_mapFEtoCPnode)) deallocate(mesh_mapFEtoCPnode)
|
||||
if (allocated(mesh_node0)) deallocate(mesh_node0)
|
||||
if (allocated(mesh_node)) deallocate(mesh_node)
|
||||
if (allocated(mesh_element)) deallocate(mesh_element)
|
||||
if (allocated(mesh_cell)) deallocate(mesh_cell)
|
||||
if (allocated(mesh_cellnode)) deallocate(mesh_cellnode)
|
||||
if (allocated(mesh_cellnodeParent)) deallocate(mesh_cellnodeParent)
|
||||
if (allocated(mesh_ipCoordinates)) deallocate(mesh_ipCoordinates)
|
||||
if (allocated(mesh_ipArea)) deallocate(mesh_ipArea)
|
||||
if (allocated(mesh_ipAreaNormal)) deallocate(mesh_ipAreaNormal)
|
||||
if (allocated(mesh_sharedElem)) deallocate(mesh_sharedElem)
|
||||
if (allocated(mesh_ipNeighborhood)) deallocate(mesh_ipNeighborhood)
|
||||
if (allocated(mesh_ipVolume)) deallocate(mesh_ipVolume)
|
||||
if (allocated(mesh_nodeTwins)) deallocate(mesh_nodeTwins)
|
||||
if (allocated(FE_nodesAtIP)) deallocate(FE_nodesAtIP)
|
||||
if (allocated(FE_ipNeighbor)) deallocate(FE_ipNeighbor)
|
||||
if (allocated(FE_cellnodeParentnodeWeights)) deallocate(FE_cellnodeParentnodeWeights)
|
||||
if (allocated(FE_subNodeOnIPFace)) deallocate(FE_subNodeOnIPFace)
|
||||
call mesh_build_FEdata ! get properties of the different types of elements
|
||||
mesh_unitlength = numerics_unitlength ! set physical extent of a length unit in mesh
|
||||
|
||||
|
@ -673,11 +654,9 @@ subroutine mesh_init(ip,el)
|
|||
call IO_error(602_pInt,ext_msg='IP') ! selected element does not have requested IP
|
||||
|
||||
FEsolving_execElem = [ 1_pInt,mesh_NcpElems ] ! parallel loop bounds set to comprise all DAMASK elements
|
||||
if (allocated(FEsolving_execIP)) deallocate(FEsolving_execIP)
|
||||
allocate(FEsolving_execIP(2_pInt,mesh_NcpElems)); FEsolving_execIP = 1_pInt ! parallel loop bounds set to comprise from first IP...
|
||||
forall (j = 1_pInt:mesh_NcpElems) FEsolving_execIP(2,j) = FE_Nips(FE_geomtype(mesh_element(2,j))) ! ...up to own IP count for each element
|
||||
|
||||
if (allocated(calcMode)) deallocate(calcMode)
|
||||
allocate(calcMode(mesh_maxNips,mesh_NcpElems))
|
||||
calcMode = .false. ! pretend to have collected what first call is asking (F = I)
|
||||
calcMode(ip,mesh_FEasCP('elem',el)) = .true. ! first ip,el needs to be already pingponged to "calc"
|
||||
|
@ -803,9 +782,6 @@ subroutine mesh_build_cellconnectivity
|
|||
mesh_cellnodeParent(2,n) = cellnodeParent(2,n)
|
||||
endforall
|
||||
|
||||
deallocate(matchingNode2cellnode)
|
||||
deallocate(cellnodeParent)
|
||||
|
||||
end subroutine mesh_build_cellconnectivity
|
||||
|
||||
|
||||
|
@ -1390,8 +1366,6 @@ subroutine mesh_spectral_build_elements(fileUnit)
|
|||
mesh_maxValStateVar(2) = max(mesh_maxValStateVar(2),mesh_element(4,e))
|
||||
enddo
|
||||
|
||||
deallocate(microstructures)
|
||||
deallocate(mesh_microGlobal)
|
||||
if (e /= mesh_NcpElems) call IO_error(880_pInt,e)
|
||||
|
||||
end subroutine mesh_spectral_build_elements
|
||||
|
@ -3097,8 +3071,6 @@ subroutine mesh_build_sharedElems
|
|||
enddo
|
||||
enddo
|
||||
|
||||
deallocate(node_seen)
|
||||
|
||||
end subroutine mesh_build_sharedElems
|
||||
|
||||
|
||||
|
@ -3300,12 +3272,12 @@ subroutine mesh_tell_statistics
|
|||
if (mesh_maxValStateVar(2) < 1_pInt) call IO_error(error_ID=180_pInt) ! no microstructure specified
|
||||
|
||||
allocate (mesh_HomogMicro(mesh_maxValStateVar(1),mesh_maxValStateVar(2))); mesh_HomogMicro = 0_pInt
|
||||
do e = 1_pInt,mesh_NcpElems
|
||||
if (mesh_element(3,e) < 1_pInt) call IO_error(error_ID=170_pInt,el=e) ! no homogenization specified
|
||||
if (mesh_element(4,e) < 1_pInt) call IO_error(error_ID=180_pInt,el=e) ! no microstructure specified
|
||||
mesh_HomogMicro(mesh_element(3,e),mesh_element(4,e)) = &
|
||||
mesh_HomogMicro(mesh_element(3,e),mesh_element(4,e)) + 1_pInt ! count combinations of homogenization and microstructure
|
||||
enddo
|
||||
do e = 1_pInt,mesh_NcpElems
|
||||
if (mesh_element(3,e) < 1_pInt) call IO_error(error_ID=170_pInt,el=e) ! no homogenization specified
|
||||
if (mesh_element(4,e) < 1_pInt) call IO_error(error_ID=180_pInt,el=e) ! no microstructure specified
|
||||
mesh_HomogMicro(mesh_element(3,e),mesh_element(4,e)) = &
|
||||
mesh_HomogMicro(mesh_element(3,e),mesh_element(4,e)) + 1_pInt ! count combinations of homogenization and microstructure
|
||||
enddo
|
||||
!$OMP CRITICAL (write2out)
|
||||
if (iand(myDebug,debug_levelBasic) /= 0_pInt) then
|
||||
write(6,'(/,a,/)') ' Input Parser: STATISTICS'
|
||||
|
@ -3408,8 +3380,6 @@ enddo
|
|||
endif
|
||||
!$OMP END CRITICAL (write2out)
|
||||
|
||||
deallocate(mesh_HomogMicro)
|
||||
|
||||
end subroutine mesh_tell_statistics
|
||||
|
||||
|
||||
|
@ -3559,8 +3529,6 @@ checkCandidateFaceTwins: do dir = 1_pInt,3_pInt
|
|||
endif
|
||||
enddo checkCandidate
|
||||
|
||||
deallocate(element_seen)
|
||||
|
||||
end subroutine mesh_faceMatch
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue