Major restructuring of mesh.f90 due to introduction of "cells". A cell is the volume (area in 2D elements) that surrounds an ip. It is described by up to 8 cell nodes and is used to calculate ip volume, area, and face normals. It can also be used to generate a mesh for e.g. paraview that contains ip output as cell centered data.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For marc simulations, run
 ./code/setup/setup_code.sh
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
This commit is contained in:
Christoph Kords 2013-04-15 08:13:20 +00:00
parent 2ff0f1b93e
commit 2a6ac44496
3 changed files with 1007 additions and 1020 deletions

View File

@ -307,10 +307,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, Temperature, dt, element, IP, cauchySt
use mesh, only: mesh_FEasCP, &
mesh_NcpElems, &
mesh_maxNips, &
mesh_element, &
FE_Nips, &
FE_Nnodes, &
FE_geomtype
mesh_element
use material, only: homogenization_maxNgrains, &
microstructure_elemhomo, &
material_phase

View File

@ -200,10 +200,9 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, &
mesh_element, &
mesh_node0, &
mesh_node, &
mesh_build_subNodeCoords, &
mesh_build_cells, &
mesh_build_ipCoordinates, &
FE_Nnodes, &
FE_geomtype
FE_Nnodes
use CPFEM, only: &
CPFEM_general, &
CPFEM_init_done, &
@ -345,7 +344,7 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, &
call debug_reset() ! resets debugging
outdatedFFN1 = .false.
cycleCounter = cycleCounter + 1_pInt
call mesh_build_subNodeCoords() ! update subnodal coordinates
call mesh_build_cells() ! update cell node coordinates
call mesh_build_ipCoordinates() ! update ip coordinates
endif
if ( outdatedByNewInc ) then
@ -362,7 +361,7 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, &
else
computationMode = CPFEM_COLLECT ! plain collect
endif
do node = 1,FE_Nnodes(FE_geomtype(mesh_element(2,cp_en)))
do node = 1,FE_Nnodes(mesh_element(2,cp_en))
FEnodeID = mesh_FEasCP('node',mesh_element(4+node,cp_en))
mesh_node(1:3,FEnodeID) = mesh_node0(1:3,FEnodeID) + numerics_unitlength * dispt(1:3,node)
enddo

File diff suppressed because it is too large Load Diff