Commit Graph

224 Commits

Author SHA1 Message Date
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
Franz Roters 6f3f5ee23c corrected error in deMandeling of jacoby matrix 2007-05-22 06:34:58 +00:00
Franz Roters 09c47f15e3 changed constitutive to open file using IO_open_file and use fileunit 200 instead of 1
changed constitutive to skip empty lines when parsing files
activated call quit in IO_error
2007-05-16 14:36:03 +00:00
Franz Roters e1ae35c5e4 corrected typo in constitutive_Sslip_v
corrected demandle of jacoby in hypela2
2007-05-15 08:47:44 +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 6aece52d1c changed Calculation of the tangent of Lp to always use state(i) and not constitutive_state_new 2007-05-11 13:22:16 +00:00
Franz Roters e5749cbff0 changed scatter check for gauss components to if(noise==0) 2007-04-26 14:46:54 +00:00
Philip Eisenlohr 09aad5ccb4 changed _Xvalue() return codes on error to huge() 2007-04-26 12:40:06 +00:00
Franz Roters 11cc6d1ee1 math_sampleGaussOri did not treat the special case of zero noise (scatter) 2007-04-26 11:46:58 +00:00
Franz Roters 6fd473eaa7 scatter was not transformed to rad when read from material file 2007-04-26 11:42:16 +00:00
Franz Roters 1fd722e4cf changed format for reading float from('F') to * in IO_floatValue 2007-04-25 14:38:22 +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 1747c0cc98 corrected calculation of constitutive_maxNstatevars 2007-04-25 13:50:28 +00:00
Franz Roters 03f244995e corrected mesh_build_elements (unit) so that state variables are read correctly from input file 2007-04-25 07:33:24 +00:00
Franz Roters 3a4ec4c2d1 removed several unused variables 2007-04-24 06:49:13 +00:00
Franz Roters c0ebb4d846 reordered subroutine calls in mesh_init to allocate nodemap and elementmap BEFORE they are used 2007-04-24 06:29:22 +00:00
Philip Eisenlohr 83d2dea8c6 CPFEM_general call now uses CPFEM_en instead of cp_en -- the required mapping is not in place on first call! 2007-04-23 13:25:09 +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
Philip Eisenlohr 9e0b9a7096 removed syntax error in _LpAndItsTangent (enforcing symmetry was flawed...) 2007-04-17 08:02:27 +00:00
Luc Hantcherli 0f6ff82f30 Checked indices for Jacobi calculation 2007-04-17 07:58:53 +00:00
Luc Hantcherli c76ab95b21 Added in LpandIstTangent 0.5*(transpose+untranspose) 2007-04-17 07:53:06 +00:00
Philip Eisenlohr b26704c23f added missing use statement in _init 2007-04-13 15:37:10 +00:00
Philip Eisenlohr 4718abfc70 agreed on wrong calc of scaled state residual 2007-04-13 14:22:55 +00:00
Philip Eisenlohr 09495e852d added necessary use statements 2007-04-13 14:20:59 +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 3c5d490148 added _plot_results function to tell about constitutive results (state + current shear per slip system) 2007-04-11 14:52:47 +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 9704a4e83c syntax polishing 2007-04-11 13:21:22 +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
Philip Eisenlohr 9da4b4cf24 name change to reflect State and Stress (was outer,inner)
added nReg for Jacobi regularization attempts
2007-04-11 10:05:08 +00:00
Philip Eisenlohr 4743c1cd86 error from inversion routines now boolean type 2007-04-11 10:04:22 +00:00
Philip Eisenlohr 6095ce0972 minor changes (syntax polishing) 2007-04-11 10:03:43 +00:00
Philip Eisenlohr e1f2daf753 _Lp and _dotState now explicitely depends on given state 2007-04-10 12:29:11 +00:00
Philip Eisenlohr df3f327ece added function calls in init() 2007-04-10 11:22:53 +00:00
Philip Eisenlohr 35266bd513 added nreg to limit number of Jacobi regularizations 2007-04-10 11:22:06 +00:00
Philip Eisenlohr 84eeddc6ba small polishing 2007-04-10 11:21:34 +00:00