Commit Graph

266 Commits

Author SHA1 Message Date
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
Luc Hantcherli 092bff57d3 Added some modifications in constitutive_LpandItsTangent 2007-04-10 11:20:05 +00:00
Luc Hantcherli db12071577 Finalized constitutive_Assignment (orientation to subips) 2007-04-04 13:57:32 +00:00
Luc Hantcherli 6fcf763054 Corrected Tstar calculation by 0.5 2007-04-04 13:56:10 +00:00
Luc Hantcherli ea20fc73c1 Added pure statements 2007-04-04 13:55:21 +00:00
William Counts f1653ad88c debugged quicksort algorithm slightly (now able to do multiple identical keys) 2007-04-04 08:49:48 +00:00
William Counts f055a7b037 added IO_continousIntValues 2007-04-04 08:49:00 +00:00
William Counts 5db61c19d3 fixed buggy build_ipNeighborhood and faceMatch (that sounds so easy...) 2007-04-04 08:47:34 +00:00
Philip Eisenlohr 1f37cd897b added quicksort 2007-04-03 08:17:58 +00:00
William Counts 37a4a4bcdc done with mesh_build_element 2007-03-30 14:56:57 +00:00
Luc Hantcherli cdf95b0ee3 Changed orientation assignment 2007-03-29 19:33:12 +00:00
Philip Eisenlohr 836a22270a rewrote _sampleXXXori functions
set of angles is now always an array
2007-03-29 15:32:52 +00:00
William Counts 656a6808bc cleaned up mesh_build_CPeleMapping code 2007-03-29 13:08:08 +00:00
Luc Hantcherli bab4381447 Added texture symmetry taken into account for defining constitutive_Ngrains 2007-03-29 12:48:47 +00:00
Luc Hantcherli e5003f9d10 Added construction of initial CPFEM_Fp_old 2007-03-29 12:16:23 +00:00
Luc Hantcherli c3ab698649 Added use of sample_Gauss, sample_Fiber, Sample_Radom 2007-03-29 11:13:40 +00:00
William Counts 5f9b57b952 with mesh_build_Sharedelems 2007-03-29 08:42:08 +00:00
Franz Roters 4e68da3cf1 moved all numerical parameters to prec.f90
removed some unused variables
2007-03-29 07:15:12 +00:00
Luc Hantcherli 11bb8faa3f Added random component 2007-03-28 17:48:59 +00:00
Luc Hantcherli 3ba46ac7d7 Added ideas for Voigt<->Mandel transformations (PE) 2007-03-28 17:41:54 +00:00
Franz Roters 4b69c1d738 corrected calculation of FEM jacobi
adjusted marc return of FEM jacobi
2007-03-28 15:59:17 +00:00
Philip Eisenlohr 40e3ec2349 shortened long lines 2007-03-28 14:13:44 +00:00
Philip Eisenlohr 7a27045c06 i,j,k,l,m loop DO it now 2007-03-28 14:12:41 +00:00
Luc Hantcherli fab9a4f6da New commit (check for bugs) 2007-03-28 13:51:28 +00:00
Philip Eisenlohr 99eb77b3dc mandel fun at end of hypela2 2007-03-28 13:48:33 +00:00
Luc Hantcherli 9b96eb9984 Corrected arrays assignment 2007-03-28 13:32:54 +00:00
Philip Eisenlohr e41b0c1493 convergence criteria depend on maxvals 2007-03-28 13:32:25 +00:00
William Counts 7e84af73c1 Added max # shared elements 2007-03-28 12:58:51 +00:00
Franz Roters 05db614589 changed interfacing to marc due to Mandel notation
set relative convergence limits
2007-03-28 12:49:12 +00:00
Luc Hantcherli 2be98a39ac Checked subroutines constitutive_SchmidMatrices and constitutive_HardeningMatrices
Some polishing
2007-03-28 10:04:59 +00:00
William Counts c82140a49d add input routines 2007-03-28 10:02:33 +00:00
William Counts 6d3155efcb fixed flaws in fixedFormat number extraction 2007-03-28 10:00:49 +00:00
Luc Hantcherli d121fbc9dd Added constitutive_Nstatevars, constitutive_maxNstatevars
Added multiplicity factor
2007-03-28 09:34:38 +00:00
William Counts 882a074cea fixed dsqrt intrinsic call in Mandel parameter list 2007-03-28 08:51:31 +00:00
Philip Eisenlohr de5c3668fd added LF and CR to list of whitespaces (IO_stringPos) 2007-03-28 08:33:21 +00:00
Philip Eisenlohr d491838c13 fixed compiler error in IO_lcInplace 2007-03-28 08:31:12 +00:00
Philip Eisenlohr 181f96fcdf polishing of Mandel notation 2007-03-28 08:20:50 +00:00
Franz Roters 08c5390f95 included newest hypela2 from marc 2005r3
the whole thing should compile now, however some things are still missing
2007-03-28 08:12:48 +00:00
Philip Eisenlohr 9241c7de91 added Mandel notation transformations for sym 3x3x3x3 and 3x3 tensors 2007-03-28 07:21:47 +00:00
Franz Roters dfd73a72ea changed a lot of small bugs and inconsistencies
Jacobi is not correct yet
2007-03-28 06:39:48 +00:00
Luc Hantcherli d1b04519ec Corrected compilation errors 2007-03-27 19:56:24 +00:00
Luc Hantcherli cd43929951 Added constitutive_homogenizedC 2007-03-27 18:51:11 +00:00
Luc Hantcherli 0673b15cfa Finalizing subroutine that reads materials&textures-file
Gauss and fiber components are read (seems to work fine)
2007-03-27 16:12:14 +00:00
Philip Eisenlohr 31d5ccf16d added math_Hooke to calc stress from stiffness and strain 2007-03-27 15:57:18 +00:00
Philip Eisenlohr 4bd3bbd2f5 added 4th order identity 2007-03-27 15:13:08 +00:00
Philip Eisenlohr 9671dc7de5 generalized _FEasCP (string what,int ID) to use targeted arrays
available what options are 'elem' and 'node'
2007-03-27 12:53:31 +00:00
Luc Hantcherli 9fca4824e4 Added subroutine constitutive_Assignement() that allocates and initializes arrays of type (:,ipc,ip,el) 2007-03-27 12:51:56 +00:00
Luc Hantcherli 99c8765729 Corrected some compilation errors 2007-03-26 20:16:37 +00:00
Luc Hantcherli 68d89a9d4e Added subroutine for calculation of Lp and tangent
Subroutine that reads 'mattex.mpie' checked: seems to work well
2007-03-26 18:55:54 +00:00
Philip Eisenlohr 5752fe2ca7 sitting together and finding open issues.. ;-) 2007-03-26 15:32:58 +00:00
Philip Eisenlohr 86d7f222ae fixed allocatable hybridIA return value, finalized IO_lc 2007-03-26 15:03:21 +00:00
Franz Roters 11bb61b2a8 corrected jacobi calculation 2007-03-26 14:51:01 +00:00
Franz Roters 3aa9ab921a changed IO_lc and IO_lcInplace to use do loops instead of forall 2007-03-26 13:13:43 +00:00
Franz Roters b439a1209a changed pi
added math_invert3x3 and math_invert6x6
2007-03-26 12:50:04 +00:00
Franz Roters e8701700a4 this version should be working 2007-03-26 10:27:34 +00:00
Philip Eisenlohr a52a742a3f added _build_ipNeighborhood and _faceMatch 2007-03-26 08:50:57 +00:00
Luc Hantcherli dab0e7013c Added structures for constitutive_Lp ; constitutive_TangentLp and constitutive_DotState 2007-03-23 19:37:18 +00:00
Luc Hantcherli 1c04045359 Revisited version of constitutive_parse_MatTexDat() Some polishing added 2007-03-22 16:29:06 +00:00
Philip Eisenlohr edc2632067 now Franz has to do the rest ;-) 2007-03-22 14:49:42 +00:00