Commit Graph

21 Commits

Author SHA1 Message Date
Christoph Kords 3196049496 in crystallite_stressAndItsTangent we now update the state first (explicit integration) and then integrate the stress (implicit integration)
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
2009-06-09 11:05:29 +00:00
Christoph Kords 7b638d7b94 sorry, forgot to declare all variables, promise to be more careful to always commit a running version of the subroutine ;-) 2009-06-02 09:55:45 +00:00
Christoph Kords e5311476c0 added NAssi-Schneidermann-Diagrams to the documentation for better understanding. Also reordered the declaration of variables in the corresponding function in crystallite.f90 2009-06-02 09:37:38 +00:00
Christoph Kords ab57a40bab restructured stress integration. Double loop for stress integration (Lp and stress) with cutback step in IntegrateStress is replaced by single loop for Lp without cutback. loop counter and limits are accordingly renamed and implemented 2009-05-28 16:38:40 +00:00
Christoph Kords aead2b8d20 material_volFrac is now called material_volume, forgot to chnage this in crystallite.f90 2009-05-27 07:08:34 +00:00
Philip Eisenlohr 4f705f524f major restructuring of code.
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
2009-05-07 16:27:36 +00:00
Franz Roters 7b076185b2 This is a major update.
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.
2008-11-28 07:39:39 +00:00
Philip Eisenlohr 10358fc1f0 (hopefully) improved the cutbacking scheme somewhat. introduced a bunch
of debugging to the .out file
2008-08-01 07:47:01 +00:00
Franz Roters cf1c7ce82a replaced almost all calls of matmul by our own code, gives better performance in parallel computations 2008-07-23 12:49:40 +00:00
Franz Roters 7a7a5d2ae3 messed up the parameter list of TimeIntegration with the last submit 2008-07-15 08:32:44 +00:00
Franz Roters 4773cf7d09 corrected determination and evaluation of updateJaco
introduced check whether FFN1 changed and force recollect in that case
2008-07-14 14:38:19 +00:00
Franz Roters de9e35cdb8 modified cutback counting
restore Lpguess_old in case of iInner > nInner
2008-06-25 06:26:41 +00:00
Luc Hantcherli 434ac7f06e In dislo:
- 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
2008-06-17 14:40:46 +00:00
Franz Roters 2472de77c2 OpenMP seems to work now
watch out for critical sections
write and matmul statements need to be marked accordingly!!!
2008-06-17 13:15:36 +00:00
Franz Roters 60f3571266 added code lines for OpenMP, however it does not work yet! 2008-05-26 13:11:25 +00:00
Philip Eisenlohr 51e596c81d small polishing to be compatible with NAG compiler (basis for automatic differentiation) 2008-04-29 12:18:17 +00:00
Luc Hantcherli 9626c25bfb crystallite: restoration of last known good Lp_guess
CPFEM_Taylor: exit whenever cutback limit exceeded
2008-04-28 16:04:08 +00:00
Philip Eisenlohr cdb2dd8808 crystallite:
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.
2008-04-16 17:00:28 +00:00
Luc Hantcherli fa2d6b9b6d Make use of average consistent tangent dPdF_bar to fill eventual holes in the individual dPdF of one orientation (during consistent tangent calculation) 2008-04-11 13:04:25 +00:00
Denny Tjahjanto 9d2ce61698 A revision for CPFEM_Taylor.f90. 2008-04-10 11:22:17 +00:00
Denny Tjahjanto 12dfbaf6b4 # separated CPFEM_Crystallite from CPFEM. Now in separate module crystallite.f90 as "SingleCrystallite"
# 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
2008-04-07 14:54:29 +00:00