also inside the stress integration, it is now possible to define the frequency of the Jacobian update oin the LpLoop through iJacoLpResiduum. The frequency of the Jacobian update for the stiffness in the crystallite loop is controlled by the parameter iJacoStiffness.
also updated the corresponding stuctograms in the documentation
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
I restructured the subroutine in view of non local constitutive models.
ATTENTION OpenMP parallelization does not work with this version, needs some more work.
ATTENTION CPFEM_GIA8.f90 is not addopted to the new scheme and will NOT work, should actually be renamed CPFEM_RGC.f90 ;-)
I removed crystallite.f90, the routines are now in CPFEM_*.f90.
I removed the marc2005 interface routine since it is outdated.
- model for stacking fault energy computation w.r.t temperature and orientation
- classical thermodynamical approach to twin nucleation (delta_E)
- rename some parameters
In crystallite:
- add msg='ok', even if components in consistent tangent are not re-computed
- allow for pseudo-convergence in the outer-loop (case of slow convergence of dislocation densities)
in mattex:
- add new parameters
added full check whether residuum in inner loop is NaN
SingleCrystallite now takes/stores Lp guess
CPFEM_Taylor (missing in GIA!!):
former fully plastic guess for Lp has been exchanged by keeping the last converged Lp (global array CPFEM_Lp) to serve as new best guess for the next time step. This speeds up the inner loop of TimeIntegration.
# improved SingleCrystallite to advance by true cutbacking (instead of improving guess and integrating always from t_0)
# module "crystal" renamed to "lattice" together with its prefix for variables
# extension of "computationMode" to deal with cutbacks (CPFEM_general).
# cutback and new inc detection for MARC is based on common block variable cptim (and inc), not incsub anymore!
# generalized GrainInterAction as new homogenization scheme
# two symbolic links are required: constitutive.f90 and CPFEM.f90