Commit Graph

262 Commits

Author SHA1 Message Date
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
Denny Tjahjanto 778cbcd3ca changed file read formats from explicit types to more general (and not
harmful) '*'
2008-03-12 13:53:00 +00:00
Philip Eisenlohr 5641cfd477 changed precision assignment to intrinsic (and standardized)
"selected_*_kind"
2008-03-07 15:21:46 +00:00
Philip Eisenlohr c74e071f5e updated constitutive_xxx to reflect new 9x9 dLp_dTstar - used to be 3x3x3x3 2008-02-21 12:50:37 +00:00
Philip Eisenlohr 9c1e8a7944 added acceleration capability after time-step cut backing 2008-02-21 10:33:34 +00:00
Philip Eisenlohr 9707fd0f8f full update, i.e. my development snapshot 2008-02-19 12:58:46 +00:00
Philip Eisenlohr f4edf4bd0c 2007
shortened stress_recovery = ...
added (crucial) deMandeling for return values of CPFEM_general

2005
matched to 2007 version
2008-02-18 18:49:06 +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
Denny Tjahjanto 199c65cdba changed pert_e to new perturbation value pert_Fg 2008-02-18 10:46:18 +00:00
Denny Tjahjanto 1106bb27eb introduced logical "debugger" 2008-02-18 10:45:46 +00:00
Denny Tjahjanto e07d38fdec ooops. missed nInner and nOuter as loop counters... 2008-02-18 10:41:37 +00:00
Denny Tjahjanto 9c9cdeb58b corrected nStress and nState to reflect more general nInner and nOuter (now vompatible with changes in prec.f90) 2008-02-18 10:39:39 +00:00
Philip Eisenlohr cfaa0e696d exchanged TINY (from prec) with intrinsic "tiny" function (Fortran90) 2008-02-15 12:42:27 +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
Hongmei Li 6a3a9e8f98 Added more detailed reporting 2008-01-11 18:32:02 +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 3a7ec38a3d Delete unused physical constants from pheno
Rename Boltzmann Constant Kb->kB
2008-01-10 18:51:58 +00:00
Philip Eisenlohr 1233d01cd5 mesh_maxNsharedElems is now correct. Added check for multiple identical nodes in an element, e.g. triangular quad-element and the like. 2008-01-10 17:12:33 +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 90195fe1c8 Commit dislo 2007-12-11 14:30:21 +00:00
Luc Hantcherli ab0bde576e Commit of IO 2007-12-11 14:23:33 +00:00
Luc Hantcherli 32fc32865f Commit of mesh 2007-12-11 14:23:21 +00:00
Luc Hantcherli 08a1c38c73 Finalizing the implementation of deformation twinning in constitutive_dislo.f90
Assume to be ready to use
2007-12-10 12:55:43 +00:00
Luc Hantcherli d0f6c81d66 constitutive_Microstructure() computes now twin "plop" volumes from the given microstructure.
Mattex.dat has 2 parameters for deformation twinning:
- average grain size
- average twin stack thickness
2007-12-07 15:12:43 +00:00
Luc Hantcherli 44d6235777 Constitutive_dislo.f90 contains now a modified version of HomogenisedC that accounts for twin reoriented regions.
ONLY constitutive_dislo was changed, NOT constitutive.pheno
2007-12-07 14:17:42 +00:00
Luc Hantcherli b69aa2b112 Construction of the elasticity matrices for rotated/twin regions.
Definition of constitutive_Ntwin and constitutive_MaxNtwin
2007-12-07 13:59:15 +00:00
Luc Hantcherli e18f304c5a Crystal.f90 contains now the twin systems (at least for fcc, not implemented for bcc and hcp).
Schmid and transformations matrices for twin systemss are defined and constructed. Twin systems are specified using the type of variables as slip systems:
"MaxNTwin", "MaxMaxNtwin" ...
2007-12-07 12:36:17 +00:00
Luc Hantcherli f63f6949cc Corrected undefined "state" in HomogenisedC
Added "forall" loops in C construction
2007-12-07 10:54:19 +00:00
Luc Hantcherli d615406722 Corrected HomogenisedC:
1- No dependence on material volume fractions!!!
2- Can now depend on state of microstructure

changed some loops from Nstatevars to Nslip
2007-12-07 10:37:06 +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
Luc Hantcherli 3c0d51542e Changed to SI conformity. Mattex file changed bg->burgers 2007-11-15 17:04:30 +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
Franz Roters 8619a92009 made sumVolfrac real also in constitutive_dislo.f90 2007-11-07 15:02:54 +00:00
Franz Roters 56e82e0fe2 changed sumVolfrac to real 2007-11-06 11:21:46 +00:00
Philip Eisenlohr d94f6c80de deleted unused variable constitutive_results
constitutive_maxNresults gets now calculated as maxval instead of hardwired
2007-11-06 10:21:03 +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
Franz Roters d2471ab479 corrected formating error in output from mesh 2007-10-26 13:39:54 +00:00
Franz Roters 909ebf2cd0 removed unused variables
corrected allocation error in constitutive_dislo.f90
2007-10-24 15:24:49 +00:00
Philip Eisenlohr 20693b9d38 hybrid IA sampling now respects sample symmetry 2007-10-24 15:13:10 +00:00
William Counts bf35fa4868 former revision of mesh.f90 caused segmentation fault. probably due to
string assignment across memory. fixed now...
2007-10-24 11:25:58 +00:00
Philip Eisenlohr f0617b74f6 added output of mesh statistics at end of input file parsing 2007-10-24 09:00:42 +00:00
William Counts 67a5711ed1 added awareness of set definitions (new function build_elemSetMapping)
added new style tables for initial conditions
2007-10-23 13:09:46 +00:00
William Counts ca0e2e55df fixed broken IO_continousIntValues to be aware of element (or other)
sets
-This line, and those below, will be ignored--


M    IO.f90
2007-10-23 13:08:27 +00:00
Luc Hantcherli 9043b4374e Corrected the treatment of interaction coefficients in constitutive_dislo 2007-10-22 15:32:45 +00:00
Franz Roters 57ed908129 removed unused variables
made hardening matrix finally (?) work
2007-10-22 14:53:10 +00:00
Luc Hantcherli b611af8826 Hardening coefficient now corrected for coplanar systems 2007-10-17 15:12:00 +00:00
Luc Hantcherli 1aef23baf7 Initialization, allocation and computation of hardening matrices reviewed. 2007-10-16 17:12:27 +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
Luc Hantcherli ea65703f83 Interaction type matrices are defined in a more convenient way 2007-10-16 17:05:36 +00:00
Luc Hantcherli ee81ae29df Update of mattex file (monoclinic-2) 2007-10-16 16:59:55 +00:00
Franz Roters 71e870032f output Euler angles in Degree 2007-10-16 14:47:09 +00:00
Franz Roters 1da4244900 reintruduced temperature in call of CPFEM_general, got lost when changing to version dependent top files 2007-10-16 13:42:48 +00:00
Franz Roters 5d566f63fd corrected plotv
names of common blocks changed in marc2007r1, therfore we now have mpie_cpfem_marc2007r1.f90 and mpie_cpfem_marc2005r3.f90
2007-10-16 13:22:39 +00:00
Luc Hantcherli 296f09d225 Checked computation of hardening matrix
In case of constitutive_pheno.f90, the computation can be optimized.
Mattex file slightly modified
2007-10-16 12:20:58 +00:00
Luc Hantcherli ad470f6ee0 Added explanations and comments in mattex file
The dislocation based constitutive subroutine can be only use for fcc crystal !!!!
The constitutive equations are different for bcc and hcp.
2007-10-16 12:11:58 +00:00
Luc Hantcherli 4a70b4dbbc Added a possible example of mattex file
Some syntax corrections
2007-10-16 11:50:51 +00:00
Luc Hantcherli 79c4f20f1c Two changes:
- call of concom and creep, now marc_concom and marc_creep. Franz will check if the parameters within the two modules in the new release, Mentat2007, are the same compared to the old release.
- hard coded include of "constitutive.pheno". That should be changed by the mean of dynamic links
2007-10-16 11:45:05 +00:00
Luc Hantcherli d8ce85c033 Syntax corrections. Update of constitutive.pheno and constitutive.dislo. 2007-10-16 11:30:05 +00:00
Luc Hantcherli e1e7f10dc4 Constitutive_dislo contains the dislocation-based modeling of crystal plasticity. 2007-10-16 09:01:19 +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
Luc Hantcherli ab0fddf518 Module crystal contains a so-called interaction type matrix for each crystal structure. This matrix helps for computing the hardening matrix in case of a phenomenological constitutive or the dislocation interaction intensity matrix in case of a dislocation-based constitutive.
Definition can be discuss.
Corresponding changes should be carried on constitutive.f90
2007-10-16 08:23:38 +00:00
Luc Hantcherli ccafbf9a0f Temperature T(1) is now transmitted to the CPFEM_general subroutine. Corresponding changes should be carried on CPFEM.f90 2007-10-16 08:18:57 +00:00
Philip Eisenlohr e3dcaa6915 outer crystal system loop now runs up to _MaxCrystalStructure (used to be hardcoded 3) 2007-10-15 14:36:25 +00:00
Philip Eisenlohr 5a82f22681 resubmit of IO_countContinousIntValues (did not check fortran syntax -- should be fine now) 2007-10-15 13:57:50 +00:00
Philip Eisenlohr 08a9985179 added function IO_countContinousIntValues
to read number of items in set definitions:
123 to 423
or something like
1 3 5 6 7 9 10 c
12 14
2007-10-15 13:55:52 +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
Philip Eisenlohr b0ef9e4a94 added element types
11 (4node 2D linear full) and
27 (8node 2D quadratic full)
2007-10-12 13:48:29 +00:00
Franz Roters 4ce8270415 corrected some variable names 2007-10-11 11:42:37 +00:00
Luc Hantcherli a6fef91c6b Extraction crystal structure information from constitutive.f90. Creation of crystal.f90 2007-10-11 11:36:09 +00:00
William Counts 7bc27e02ca keyword "table" appeared more than once -- restricted interpretation to header 2007-09-28 14:56:26 +00:00
Philip Eisenlohr 892f33591c adapted to new default table style in 2007R1
hypoelastic part of input file needs skipping an additional line if new style tables are active
2007-09-28 14:16:03 +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 0efe7756bc included fix in constitutive_post_results to handle case of constitutive_Nresults==0 2007-05-22 06:36:52 +00:00