Commit Graph

61 Commits

Author SHA1 Message Date
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 d1c1c34faa corrected code for non parallel calculation 2009-04-03 12:41:01 +00:00
Franz Roters a5a2fdb306 introduced pLongInt for Long Integers 2009-03-31 08:51:14 +00:00
Philip Eisenlohr ac42e24252 (re)introduced integer(8) types for clock_tick measurements 2009-03-20 15:19:58 +00:00
Luc Hantcherli e5255f4384 Update in order to include the c/a-ratio as additional information about the structure (modules lattice, constitutive_ changed accordingly)
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))
2009-03-20 14:34:24 +00:00
Philip Eisenlohr eed32fe588 added timing facilities for LpAndItsTangent 2009-03-16 17:38:33 +00:00
Franz Roters a7135ed83b removed some unused variables
correct some spelling errors in material.config
adopted marc2008 interface routine
removed sequential interface routines as they are not needed any more
2009-03-05 14:18:50 +00:00
Philip Eisenlohr 9aa89bd9b5 forgot to add those two (rather crucial) files .. ;-) 2009-03-04 14:01:36 +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
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
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
Philip Eisenlohr 9c1e8a7944 added acceleration capability after time-step cut backing 2008-02-21 10:33:34 +00:00
Philip Eisenlohr 2b567ad20d CPFEM
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.
2008-02-18 18:11:24 +00:00
Philip Eisenlohr a41a4a75ef CPFEM:
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
2008-02-15 10:04:49 +00:00
Franz Roters f39c68dded CPFEM_stressCrystallite must be called with t not dt in CPFEM_stressIP 2008-02-08 08:25:19 +00:00
Luc Hantcherli 720d8da82b Corrected syntax 2008-01-10 19:00:45 +00:00
Luc Hantcherli b8b171c95b Introduce debug module, contains distributions of nCutback, nStressLoop, and nStateLoop 2008-01-10 18:53:57 +00:00
Luc Hantcherli fe70a82d6d !!!!! IMPORTANT !!!!!
All subroutines were committed at once:
- constitutive_pheno works
- constitutive_dislo without twinning also works

This release should serve as reference
2007-12-14 13:36:04 +00:00
Luc Hantcherli 3ef451824c just a test 2007-12-14 13:28:41 +00:00
Luc Hantcherli 975c113ae8 Homogenised C per grain can now depend on microstructure (important for deformation twinning) 2007-12-07 10:34:21 +00:00
Philip Eisenlohr ad3ccf22c2 clarified tolerances in prec (abs vs rel)
all units conform to SI now !! (especially MPa --> Pa)

CONSEQUENCE: mattex files need to respect SI
2007-11-15 11:21:37 +00:00
Philip Eisenlohr e86a288a21 CPFEM_dummy_stress now user-given constant in _init (SI units !!) 2007-11-15 11:12:58 +00:00
Franz Roters 896c37ede2 changed structure of CPFEM_general to allow for non local algorithm and parrallelisation 2007-11-08 08:26:02 +00:00
Philip Eisenlohr 4dbf6ac3fa added volume fraction of orientation to output array (now CPFEM_Nresults = 4) 2007-11-06 08:30:04 +00:00
Luc Hantcherli b0279435e3 CPFEM_Temperature is now a function of the element number and the integration point number 2007-10-16 17:08:06 +00:00
Franz Roters 71e870032f output Euler angles in Degree 2007-10-16 14:47:09 +00:00
Luc Hantcherli d8ce85c033 Syntax corrections. Update of constitutive.pheno and constitutive.dislo. 2007-10-16 11:30:05 +00:00
Luc Hantcherli b476aa4028 CPFEM.f90 contains the following modifications:
-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.
2007-10-16 08:33:59 +00:00
Franz Roters 532d3c2a16 added use crystal statement before call of crystal_init 2007-10-15 10:16:51 +00:00
Luc Hantcherli 64f3f6ccee crystal_init() included in CPFEM.f90 2007-10-15 09:30:57 +00:00
Franz Roters 28fc9cc221 put recalculation of elastic stress back in (was accidentally deleted)
changed check of residuum improvement for small residuum
2007-08-13 07:12:24 +00:00
Franz Roters 85df3b95ee changed restriction of dTstar, its now based on the residuum, if it does not improve 0.5*dTstar is used instead 2007-08-07 08:02:31 +00:00
Franz Roters a5f49a0578 changed first elastic guess for small Tstar
changed residuum to only consider deviatoric part of Tstar
changed scaling when dTstar becomes too large to proportionally scaling all components of dTstar
2007-07-20 13:32:44 +00:00
Franz Roters a1c3df84ab changed quite a few things, mainly using last result as initial guess now, thinks work a lot better now but still not perfect 2007-06-06 14:38:06 +00:00
Franz Roters 49886a072c corrected CPFEM_stressIP to use FFN1 at the end of the time increment
calculate for ncycle==0 and not only inc==0 in hypela2
2007-05-14 12:13:36 +00:00
Franz Roters 033a6a03b3 determine number of grains as texture_Ngrains(mesh_element(4,cp_en)) instead of constitutive_Ngrains (which is not used anymore) in CPFEM_stressIP 2007-04-25 13:58:10 +00:00
Franz Roters 3a4ec4c2d1 removed several unused variables 2007-04-24 06:49:13 +00:00
Philip Eisenlohr 471d53e3ba _general needs CPFEM_en NOT cp_en..!
stress loop counter was not been reset
matmul(A,B) now replaced by stored AB
2007-04-23 13:23:03 +00:00
Luc Hantcherli 0f6ff82f30 Checked indices for Jacobi calculation 2007-04-17 07:58:53 +00:00
Philip Eisenlohr 4718abfc70 agreed on wrong calc of scaled state residual 2007-04-13 14:22:55 +00:00
Philip Eisenlohr bbfb86fb8f added necessary use statements 2007-04-13 14:20:33 +00:00
Luc Hantcherli d90162dc38 Corrected Rstress(i)/state_new(i) into Rstate(i)/state_new(i) 2007-04-13 11:30:49 +00:00
Luc Hantcherli eb292917b9 untied interlinked constitutive and CPFEM modules
now constitutive stores EulerAngles and CPFEM generates Fp_old from these
2007-04-11 15:28:46 +00:00
Luc Hantcherli cb4a85319d corrected small syntax errors 2007-04-11 14:55:06 +00:00
Luc Hantcherli f9f3e2bd9b result processing now in stressIP
i.e. no extra polar decompositions performed any more
2007-04-11 14:51:49 +00:00
Philip Eisenlohr ff6642ea8c major edit.
combined routines into
CPFEM_general, CPFEM_stressIP (incl cutback scheme),
CPFEM_stressCrystallite, and CPFEM_timeIntegration (Newton scheme)

error management now based on text strings
2007-04-11 10:06:28 +00:00
Luc Hantcherli 6fcf763054 Corrected Tstar calculation by 0.5 2007-04-04 13:56:10 +00:00
Franz Roters 4e68da3cf1 moved all numerical parameters to prec.f90
removed some unused variables
2007-03-29 07:15:12 +00:00
Franz Roters 4b69c1d738 corrected calculation of FEM jacobi
adjusted marc return of FEM jacobi
2007-03-28 15:59:17 +00:00