homogenization as well as constitutive are now free to choose. the runtime got somewhat longer (25% on simple tests) compared to a hardcoded isostrain homogenization. this might be a point of further optimization at a later stage...
please use homogenization_isostrain.f90 as starting point / example for future developments of homog-schemes.
the homogenization scheme now can additionally output certain results. hence, the userdata structure at each integration point now looks like this:
- sizeHomogPostResults
- block of that size containing homogPostResults
then for each grain:
- sizeGrainPostResults
- block of that size containing crystallitePostResults, which consist of:
+ phaseID
+ volFrac
+ Eulers (3)
+ any constitutive post results requested
Correction of the expression for the velocity of mobile dislocation densities in constitutive_dislobased.f90
Correction of some Fortran syntax, incompatible with Compaq Visual Fortran (e.g. integer(8))
correct some spelling errors in material.config
adopted marc2008 interface routine
removed sequential interface routines as they are not needed any more
renamed CPFEM_stressIP to CPFEM_MaterialPoint
renamed CPFEM_stressCrystallite to CPFEM_Crystallite
introduced new global variables to keep track of FE state within module
FEsolving
changed consistent tangent scheme to D.Tjahjanto Diss version
fixed nasty bug in decision when to calculate new values (CPFEM_general)
prec
precision values should now be on safe side.
time integration scheme changed to start from guessing of Lp.
Newton-Raphson algorithm now accelerates as long as residuum improves.
IO:
added error 650 for polar decomposition problems
prec:
some cleanup. Introduced "relevantStrain" for convergence checking in CPFEM
All subroutines were committed at once:
- constitutive_pheno works
- constitutive_dislo without twinning also works
This release should serve as reference
-Temperature is now defined as a CPFEM_Temperature, and filled for each new call of CPFEM_general according the value output by MARC
-constitutive_Microstructure(state_new,CPFEM_Temperature,grain,CPFEM_in,cp_en) is used in the state loop and before entering in the stress loop. This subroutine computes all parameters,arrays or matrices required from the state, i.e. forest or parallel or mobile dislocation densities from the statistically stored dislocation densities. Its definition is made in module constitutive.
changed residuum to only consider deviatoric part of Tstar
changed scaling when dTstar becomes too large to proportionally scaling all components of dTstar
combined routines into
CPFEM_general, CPFEM_stressIP (incl cutback scheme),
CPFEM_stressCrystallite, and CPFEM_timeIntegration (Newton scheme)
error management now based on text strings