Commit Graph

234 Commits

Author SHA1 Message Date
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
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