This commit is contained in:
Martin Diehl 2019-09-19 13:40:03 -07:00
parent e82fdbcdfa
commit be0d961954
7 changed files with 10 additions and 32 deletions

View File

@ -22,7 +22,6 @@ module crystallite
use constitutive use constitutive
use discretization use discretization
use lattice use lattice
use future
use plastic_nonlocal use plastic_nonlocal
use geometry_plastic_nonlocal, only: & use geometry_plastic_nonlocal, only: &
nIPneighbors => geometry_plastic_nonlocal_nIPneighbors, & nIPneighbors => geometry_plastic_nonlocal_nIPneighbors, &

View File

@ -11,7 +11,6 @@ module lattice
use IO use IO
use config use config
use math use math
use future
implicit none implicit none
private private
@ -493,11 +492,6 @@ module lattice
integer(kind(LATTICE_undefined_ID)), dimension(:), allocatable, public, protected :: & integer(kind(LATTICE_undefined_ID)), dimension(:), allocatable, public, protected :: &
lattice_structure lattice_structure
interface lattice_forestProjection ! DEPRECATED, use lattice_forestProjection_edge
module procedure slipProjection_transverse
end interface lattice_forestProjection
interface lattice_forestProjection_edge interface lattice_forestProjection_edge
module procedure slipProjection_transverse module procedure slipProjection_transverse
end interface lattice_forestProjection_edge end interface lattice_forestProjection_edge
@ -529,7 +523,6 @@ module lattice
lattice_characteristicShear_Twin, & lattice_characteristicShear_Twin, &
lattice_C66_twin, & lattice_C66_twin, &
lattice_C66_trans, & lattice_C66_trans, &
lattice_forestProjection, &
lattice_forestProjection_edge, & lattice_forestProjection_edge, &
lattice_forestProjection_screw, & lattice_forestProjection_screw, &
lattice_slip_normal, & lattice_slip_normal, &

View File

@ -474,9 +474,9 @@ subroutine material_parseHomogenization
enddo enddo
do h=1, size(config_homogenization) do h=1, size(config_homogenization)
homogenization_typeInstance(h) = count(homogenization_type(1:h) == homogenization_type(h)) homogenization_typeInstance(h) = count(homogenization_type(1:h) == homogenization_type(h))
thermal_typeInstance(h) = count(thermal_type (1:h) == thermal_type (h)) thermal_typeInstance(h) = count(thermal_type (1:h) == thermal_type (h))
damage_typeInstance(h) = count(damage_type (1:h) == damage_type (h)) damage_typeInstance(h) = count(damage_type (1:h) == damage_type (h))
enddo enddo
homogenization_maxNgrains = maxval(homogenization_Ngrains,homogenization_active) homogenization_maxNgrains = maxval(homogenization_Ngrains,homogenization_active)
@ -496,9 +496,9 @@ subroutine material_parseMicrostructure
character(len=65536) :: & character(len=65536) :: &
tag tag
allocate(microstructure_crystallite(size(config_microstructure)), source=0) allocate(microstructure_crystallite(size(config_microstructure)), source=0)
allocate(microstructure_Nconstituents(size(config_microstructure)), source=0) allocate(microstructure_Nconstituents(size(config_microstructure)), source=0)
allocate(microstructure_active(size(config_microstructure)), source=.false.) allocate(microstructure_active(size(config_microstructure)), source=.false.)
if(any(discretization_microstructureAt > size(config_microstructure))) & if(any(discretization_microstructureAt > size(config_microstructure))) &
call IO_error(155,ext_msg='More microstructures in geometry than sections in material.config') call IO_error(155,ext_msg='More microstructures in geometry than sections in material.config')
@ -531,7 +531,7 @@ subroutine material_parseMicrostructure
case('texture') case('texture')
microstructure_texture(c,m) = IO_intValue(strings(c),chunkPos,i+1) microstructure_texture(c,m) = IO_intValue(strings(c),chunkPos,i+1)
case('fraction') case('fraction')
microstructure_fraction(c,m) = IO_floatValue(strings(c),chunkPos,i+1) microstructure_fraction(c,m) = IO_floatValue(strings(c),chunkPos,i+1)
end select end select
enddo enddo

View File

@ -7,7 +7,6 @@
!-------------------------------------------------------------------------------------------------- !--------------------------------------------------------------------------------------------------
module math module math
use prec use prec
use future
use IO use IO
use debug use debug
use numerics use numerics
@ -16,8 +15,7 @@ module math
#if __INTEL_COMPILER >= 1900 #if __INTEL_COMPILER >= 1900
! do not make use associated entities available to other modules ! do not make use associated entities available to other modules
private :: & private :: &
prec, & prec
future
#endif #endif
real(pReal), parameter :: PI = acos(-1.0_pReal) !< ratio of a circle's circumference to its diameter real(pReal), parameter :: PI = acos(-1.0_pReal) !< ratio of a circle's circumference to its diameter
@ -75,15 +73,7 @@ module math
3,3 & 3,3 &
],[2,9]) !< arrangement in Plain notation ],[2,9]) !< arrangement in Plain notation
!--------------------------------------------------------------------------------------------------
! Provide deprecated name for compatibility
interface math_mul3x3
module procedure math_inner
end interface math_mul3x3
public :: &
math_mul3x3
!--------------------------------------------------------------------------------------------------- !---------------------------------------------------------------------------------------------------
private :: & private :: &
unitTest unitTest

View File

@ -10,6 +10,7 @@ module mesh
use mesh_base use mesh_base
use geometry_plastic_nonlocal use geometry_plastic_nonlocal
use discretization use discretization
use math
implicit none implicit none
private private
@ -1758,9 +1759,6 @@ 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: &
math_mul3x3
integer :: myElem, & ! my CP element index integer :: myElem, & ! my CP element index
myIP, & myIP, &
@ -1908,7 +1906,7 @@ subroutine mesh_build_ipNeighborhood
do pointingToMe = 1,FE_NipNeighbors(FE_celltype(neighboringType)) ! find neighboring index that points from my neighbor to myself do pointingToMe = 1,FE_NipNeighbors(FE_celltype(neighboringType)) ! find neighboring index that points from my neighbor to myself
if ( myElem == mesh_ipNeighborhood(1,pointingToMe,neighboringIP,neighboringElem) & if ( myElem == mesh_ipNeighborhood(1,pointingToMe,neighboringIP,neighboringElem) &
.and. myIP == mesh_ipNeighborhood(2,pointingToMe,neighboringIP,neighboringElem)) then ! possible candidate .and. myIP == mesh_ipNeighborhood(2,pointingToMe,neighboringIP,neighboringElem)) then ! possible candidate
if (math_mul3x3(mesh_ipAreaNormal(1:3,neighbor,myIP,myElem),& if (math_inner(mesh_ipAreaNormal(1:3,neighbor,myIP,myElem),&
mesh_ipAreaNormal(1:3,pointingToMe,neighboringIP,neighboringElem)) < 0.0_pReal) then ! area normals have opposite orientation (we have to check that because of special case for single element with two ips and periodicity. In this case the neighbor is identical in two different directions.) mesh_ipAreaNormal(1:3,pointingToMe,neighboringIP,neighboringElem)) < 0.0_pReal) then ! area normals have opposite orientation (we have to check that because of special case for single element with two ips and periodicity. In this case the neighbor is identical in two different directions.)
mesh_ipNeighborhood(3,neighbor,myIP,myElem) = pointingToMe ! found match mesh_ipNeighborhood(3,neighbor,myIP,myElem) = pointingToMe ! found match
exit ! so no need to search further exit ! so no need to search further

View File

@ -11,7 +11,6 @@ module mesh_base
use, intrinsic :: iso_c_binding use, intrinsic :: iso_c_binding
use prec use prec
use element use element
use future
implicit none implicit none

View File

@ -35,7 +35,6 @@
!--------------------------------------------------------------------------------------------------- !---------------------------------------------------------------------------------------------------
module quaternions module quaternions
use prec use prec
use future
implicit none implicit none
public public