Commit Graph

14600 Commits

Author SHA1 Message Date
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
Franz Roters e8cd7cef94 fixed a small bug: text about finding symmetric solver was always written to out-file 2008-11-27 15:11:44 +00:00
Franz Roters 824cec5ca1 correct error in case of outdated FFN1: element number is cp_en not e 2008-11-11 14:57:20 +00:00
Philip Eisenlohr db245e8935 a small text file to remember ideas for code improvement 2008-11-10 08:41:32 +00:00
Luc Hantcherli 3ec8ec6b15 New version of constitutive_dislo.f90, where some dangerous spots were reformulated.
PROBLEM: [001] in tension does not have a symmetrical change of shape, which is definitely not good at all. I checked my implementation and I really do not see any errors. Could someone check it out? Can it comes from the numerical integration?
2008-11-07 16:34:29 +00:00
Luc Hantcherli 6e13ed0566 I will proceed step by step.
constitutive_dislo.f90 contains a modified version of Anxin's dislocation based model. As far as tested it, I consider it now error free. Mechanical twinning is NOT implemented YET.
mattex.mpie file is modified in accordance with the changes in constitutive_dislo.f90
It would be a great help if someone else can check the implementation. I may have overseen something.
2008-11-06 13:09:12 +00:00
Franz Roters 9692f2f3d3 added mpie_cpfem_marc2008r1_sequential.f90 2008-10-30 11:18:10 +00:00
Franz Roters 1a5a68c87a added interface routine for Marc2008r1
this includes two files: concom_f90 and creeps_f90
so you either create links of that name to the new files concom2008r1 and creeps2008r1 or rename copies of those files accordingly
2008-10-29 15:28:10 +00:00
Franz Roters fa7cf61fd9 FEsolfing.f90: - added flag for symmetric solver
- added subroutine to detect symmetric solver

mesh.f90: - added subroutine call in mesh_init to detect symmetric solver during input file parsing

mpie_cpfem_marc2005r3.f90
mpie_cpfem_marc2007r1.f90
mpie_cpfem_marc2007r1_sequential.f90: - resorted include order of other source files
                                      - symmetrize d in case a symmetric solver is used

constitutive_pheno.f90: - included code to output shear rates and shear activity as post results

CPFEM_GIA8.f90
CPFEM_Taylor.f90
CPFEM_Taylor_sequential.f90: - symmetrize H_bar
                             - generalized reference to CPFEM_results in call of SingleCrystallite
2008-09-22 08:36:51 +00:00
Luc Hantcherli 3216976d62 Question: do we have to symmetrize H_bar? 2008-08-19 14:02:14 +00:00
Yun Jo Ro b3814020f3 added slip and twin systems for hcp lattice structure
added straightforward 48x48 interaction matrix
2008-08-06 14:48:11 +00:00
Philip Eisenlohr 7faaa8532c this provides adapted functionality to go with the sequential wrapper.
moved recording of temperature, ffn, and ffn1 into case of computation
mode 1,2 to be directly used in the subsequent (and now FE sequential)
call to MaterialPoint.
2008-08-01 07:58:59 +00:00
Philip Eisenlohr db69217ce1 removed computation mode 3 (collect) such that now every cycle will
compute with either mode=1 (new inc) or mode=2
2008-08-01 07:54:32 +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
Philip Eisenlohr 6abff4b3ba changed hybridIA_population from being wrong integer type to correct real
type.
2008-07-16 16:35:13 +00:00
Philip Eisenlohr bdcf76cd74 fixed stupidity in hybridIA evaluation. added informative output during
ODF parsing.
2008-07-16 14:49:17 +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
Philip Eisenlohr 63d81b92b7 added math_mul33x33, 66x66, and 99x99 to avoid OMP_Critical "evilmatmul" 2008-07-08 19:38:22 +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 7453a18b42 in lattice:
- add slip-twin interaction type matrix
2008-06-17 14:42:45 +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
Philip Eisenlohr 6921c57c7d rev 225 had a small syntax error... 2008-06-17 11:54:34 +00:00
Philip Eisenlohr 3676b453ca added two more element types (157 and 136) 2008-06-17 09:11:54 +00:00
Philip Eisenlohr 5834a2965d fixed bug in mesh_build_sharedElems which so far counted nodes in
distorted elements twice -- part of this problem has already been fixed
with revision 182 but then only in getNodeElemDimensions.
M    mesh.f90
2008-06-16 20:49:48 +00:00
Denny Tjahjanto d2335e4a0b 2008-06-10 10:23:32 +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
Luc Hantcherli 664a29c183 Subscript Crystal_ changed to Lattice_ according to the module Lattice 2008-04-10 12:13:37 +00:00
Denny Tjahjanto 9d2ce61698 A revision for CPFEM_Taylor.f90. 2008-04-10 11:22:17 +00:00
Franz Roters d2312e81ff deleted CFPFEM.f90 and crystal.f90 from repository
adopted mattex.mpie to use lattice_structure  instead of crystal_structure
2008-04-09 15:35:16 +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
Denny Tjahjanto c063ce5bc1 add a kronecker delta function 2008-03-27 11:54:34 +00:00
Denny Tjahjanto 5462d2c754 just a correction for a little typo :P 2008-03-27 11:53:53 +00:00
Denny Tjahjanto f3eda7cdaa include a new function epsilon_ijk, i.e., the permutation function (used to compute the cross product of two tensors) 2008-03-26 13:35:01 +00:00
Denny Tjahjanto 92ee2cbf7d to include 2 material parameters, i.e., grain size and the length of burgers vector used in GIA model 2008-03-26 09:33:12 +00:00
Luc Hantcherli cc7e13d351 New update of constitutive_dislo.f60 considering the changes in mesh.f90 (see map_ElemType)
Parameters assignation, hardening matrices and constitutive equations are PROPERLY implemented (tested)
Comparison to my own old subroutine: on going
2008-03-25 14:19:22 +00:00
Philip Eisenlohr 7faf4093a5 reflect change of mesh_element(2,e) in mesh.f90
-change of  line, and those below, will be ignored--

M    constitutive_pheno.f90
2008-03-25 13:59:22 +00:00
Philip Eisenlohr 3640a48095 changed element type mapping to be performed right after input file
parsing. mesh_element(2,e) now contains INTERNAL type index -- no
subsequent mapping necessary anymore!
2008-03-25 12:52:27 +00:00
Luc Hantcherli 6d721dc16c Modifications of cpfem_marc2005r3 according the ones in cpfem_marc2007r1 2008-03-14 21:56:46 +00:00
Philip Eisenlohr 1267ce78b6 CPFEM_general now independed of the wrapper code (UMAT, hypela2, etc.)
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
2008-03-14 21:32:57 +00:00
Philip Eisenlohr 7975d62586 CPFEM_general now independed of the wrapper code (UMAT, hypela2, etc.)
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
2008-03-14 21:29:31 +00:00
Luc Hantcherli 0a08d9eff0 Corrected errors from the last release of constitutive_dislo
Changed parameter designation in mattex file
2008-03-14 16:23:08 +00:00
Denny Tjahjanto 6950eee59b altered stress and strain "language" to first PK and deformation gradient.
plot_results are now part of the crystallite result and not explicitly called from the homogenization layer.
2008-03-14 14:19:10 +00:00
Franz Roters 6f06133b90 removed some unused variables 2008-03-14 08:23:43 +00:00