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:
parent
2ff0f1b93e
commit
2a6ac44496
|
@ -307,10 +307,7 @@ subroutine CPFEM_general(mode, ffn, ffn1, Temperature, dt, element, IP, cauchySt
|
||||||
use mesh, only: mesh_FEasCP, &
|
use mesh, only: mesh_FEasCP, &
|
||||||
mesh_NcpElems, &
|
mesh_NcpElems, &
|
||||||
mesh_maxNips, &
|
mesh_maxNips, &
|
||||||
mesh_element, &
|
mesh_element
|
||||||
FE_Nips, &
|
|
||||||
FE_Nnodes, &
|
|
||||||
FE_geomtype
|
|
||||||
use material, only: homogenization_maxNgrains, &
|
use material, only: homogenization_maxNgrains, &
|
||||||
microstructure_elemhomo, &
|
microstructure_elemhomo, &
|
||||||
material_phase
|
material_phase
|
||||||
|
|
|
@ -200,10 +200,9 @@ subroutine hypela2(d,g,e,de,s,t,dt,ngens,m,nn,kcus,matus,ndi,nshear,disp, &
|
||||||
mesh_element, &
|
mesh_element, &
|
||||||
mesh_node0, &
|
mesh_node0, &
|
||||||
mesh_node, &
|
mesh_node, &
|
||||||
mesh_build_subNodeCoords, &
|
mesh_build_cells, &
|
||||||
mesh_build_ipCoordinates, &
|
mesh_build_ipCoordinates, &
|
||||||
FE_Nnodes, &
|
FE_Nnodes
|
||||||
FE_geomtype
|
|
||||||
use CPFEM, only: &
|
use CPFEM, only: &
|
||||||
CPFEM_general, &
|
CPFEM_general, &
|
||||||
CPFEM_init_done, &
|
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
|
call debug_reset() ! resets debugging
|
||||||
outdatedFFN1 = .false.
|
outdatedFFN1 = .false.
|
||||||
cycleCounter = cycleCounter + 1_pInt
|
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
|
call mesh_build_ipCoordinates() ! update ip coordinates
|
||||||
endif
|
endif
|
||||||
if ( outdatedByNewInc ) then
|
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
|
else
|
||||||
computationMode = CPFEM_COLLECT ! plain collect
|
computationMode = CPFEM_COLLECT ! plain collect
|
||||||
endif
|
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))
|
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)
|
mesh_node(1:3,FEnodeID) = mesh_node0(1:3,FEnodeID) + numerics_unitlength * dispt(1:3,node)
|
||||||
enddo
|
enddo
|
||||||
|
|
2013
code/mesh.f90
2013
code/mesh.f90
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue