Commit Graph

341 Commits

Author SHA1 Message Date
Philip Eisenlohr ac42e24252 (re)introduced integer(8) types for clock_tick measurements 2009-03-20 15:19:58 +00:00
Philip Eisenlohr a57ce74e15 exchanged new lattice_structure ("fcc", "bcc", "hexagonal") 2009-03-20 15:19:21 +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 121723ffa5 corrected (?) RodrigToR 2009-03-18 14:05:27 +00:00
Philip Eisenlohr 9007fbc73c added math_tensorproduct 2009-03-17 15:13:17 +00:00
Philip Eisenlohr eed32fe588 added timing facilities for LpAndItsTangent 2009-03-16 17:38:33 +00:00
Philip Eisenlohr a8db780af4 remembered the Bal98 (MIT) PhD thesis which might contain an analytical way to get the Jacobian matrix -- as opposed to numerical perturbation... 2009-03-12 07:06:55 +00:00
Luc Hantcherli 919a6cd32a Change in constitutive_dislobased.f90: now ..._sizeState is 8 times Nslip long, in agreement with the required information about the microstructure. 2009-03-09 22:41:53 +00:00
Philip Eisenlohr dde0af0b37 sanity check for phase and texture index out of bounds was errorenous... 2009-03-09 13:58:59 +00:00
Christoph Kords c0899b3097 minor changes to comments 2009-03-06 16:53:31 +00:00
Christoph Kords a8ab5be60c no calculation of Lp and dLp_dTstar in first loop 2009-03-06 13:30:22 +00:00
Christoph Kords f845b9dc87 corrected indices for calculation of dLp_dTstar 2009-03-06 12:29:47 +00:00
Philip Eisenlohr 41d9e2d805 sorry, compilation problem corrected... 2009-03-06 11:47:26 +00:00
Philip Eisenlohr f84d2abedc corrected mistake in Lp tangent calculation (Christoph, pls check) 2009-03-06 11:28:48 +00:00
Philip Eisenlohr b907961032 added examples for j2 2009-03-06 11:15:55 +00:00
Christoph Kords ae0eafdb90 added calculation for tangent of Lp 2009-03-06 11:07:15 +00:00
Philip Eisenlohr d12904a412 constitutitions of "j2" and "dislobased" are referenced in constitutive and included to the Marc interface 2009-03-06 10:13:08 +00:00
Christoph Kords ea8ce09764 changed line endings to unix style 2009-03-06 10:02:36 +00:00
Christoph Kords cb82ebedef added error message for non-positive taylor factor 2009-03-05 17:07:32 +00:00
Philip Eisenlohr 1420b773f0 needs renaming 2009-03-05 16:49:13 +00:00
Philip Eisenlohr ffa6af1853 update of sample material.config parts 2009-03-05 16:42:05 +00:00
Philip Eisenlohr 5a39497742 added sample material.config sections at module start 2009-03-05 16:36:31 +00:00
Luc Hantcherli 34aad5c945 Same with constitutive_dislobased.f90 2009-03-05 16:15:24 +00:00
Philip Eisenlohr ca1b9787b6 removed now obsolete files from former structure 2009-03-05 16:15:09 +00:00
Christoph Kords 122760601c not yet operational, though necessary to compile the rest 2009-03-05 16:12:13 +00:00
Luc Hantcherli 31f15ee146 Add constitutive_dislobased.f90, containing the current dislocation based model for dislocation glide.
Add corresponding changes in constitutive.f90 and IO.f90

Compilation errors in math.f90 corrected
2009-03-05 16:06:01 +00:00
Christoph Kords 599ba2453c added math_mul6x6 and math_mul3x3 to replacce more general calls to "dot_product" 2009-03-05 14:37:59 +00:00
Christoph Kords c9d43cccec now with j2 2009-03-05 14:36:01 +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
Christoph Kords e10964cc5d corrected error in <microstructure> template: "material" --> "phase" 2009-03-04 13:44:14 +00:00
Philip Eisenlohr 46de79d1f9 some tasks for Denny 2009-03-04 11:50:36 +00:00
Philip Eisenlohr 9351508ae1 overhaul to allow for multiphase/homogenization setup. 2009-03-04 11:48:54 +00:00
Eralp Demir 5a09badb71 corrected another small mistake, sorry for the inconvenience 2009-01-26 13:14:25 +00:00
Eralp Demir f3e5be4b54 small mistake corrected! 2009-01-26 13:07:10 +00:00
Eralp Demir 3625afff3b add symmetry operators and a subroutine for misorientation calculation 2009-01-26 12:58:58 +00:00
Philip Eisenlohr 5fc9816ff7 corrected Abaqus name to C3D8 2009-01-20 08:28:07 +00:00
Philip Eisenlohr bb32110cb0 further documentation of element type 5 (4 IP tetrahedron) and type 6 (6 IP pentahedron) 2009-01-20 08:10:56 +00:00
Philip Eisenlohr cbd7c279d4 changed Line Ending to Unix style (LF) 2009-01-19 19:10:58 +00:00
Philip Eisenlohr abb2e3ef30 introduction of logical "wantsConstitutiveResults" 2009-01-19 19:10:02 +00:00
Philip Eisenlohr 82e65648a2 major debugging and streamlining of the calculation of ipVolumes and
ipAreas
2009-01-19 18:42:31 +00:00
Philip Eisenlohr e3e42fdf44 shell script taking two arguments and setting CPFEM_xxx and
constitutive_yyy symbolic links from those
2009-01-19 13:37:37 +00:00
Philip Eisenlohr 4b67529aaf added full description of element type 2 2009-01-16 17:36:37 +00:00
Philip Eisenlohr 8788cc4f8a description of element type 2 2009-01-16 17:35:14 +00:00
Eralp Demir 483896218f added functions
-- mesh_build_subNodeCoords
-- mesh_build_ipVolimes
-- mesh_build_ipAreas

new globals mesh_ipVolume and mesh_ipArea / mesh_ipAreaNormal contain the volume per IP, area of the interface to aach neighboring IP and the outward pointing unit normal vector of these interfaces
2009-01-16 15:29:57 +00:00
Eralp Demir de04c4cccd added functions
-- math_volTetrahedron: calc the volume of a tetrahedron from four vertices
-- math_vectorproduct: return vector product of two dim(3) vectors

rendered most of the math lib to be "pure" functions
2009-01-16 15:27:13 +00:00
Eralp Demir 1529d6115d rendered most of the functions to be "pure" 2009-01-16 15:25:37 +00:00
Philip Eisenlohr 9d14dbde2b started to document things with the description of the "all-purpose" element 7 (or 3DC8) as interpreted by mesh.f90 2009-01-16 08:29:03 +00:00
Franz Roters 7b076185b2 This is a major update.
I restructured the subroutine in view of non local constitutive models.
ATTENTION OpenMP parallelization does not work with this version, needs some more work.
ATTENTION CPFEM_GIA8.f90 is not addopted to the new scheme and will NOT work, should actually be renamed CPFEM_RGC.f90 ;-)
I removed crystallite.f90, the routines are now in CPFEM_*.f90.
I removed the marc2005 interface routine since it is outdated.
2008-11-28 07:39:39 +00:00
Franz Roters e8cd7cef94 fixed a small bug: text about finding symmetric solver was always written to out-file 2008-11-27 15:11:44 +00:00
Franz Roters 824cec5ca1 correct error in case of outdated FFN1: element number is cp_en not e 2008-11-11 14:57:20 +00:00
Philip Eisenlohr db245e8935 a small text file to remember ideas for code improvement 2008-11-10 08:41:32 +00:00
Luc Hantcherli 3ec8ec6b15 New version of constitutive_dislo.f90, where some dangerous spots were reformulated.
PROBLEM: [001] in tension does not have a symmetrical change of shape, which is definitely not good at all. I checked my implementation and I really do not see any errors. Could someone check it out? Can it comes from the numerical integration?
2008-11-07 16:34:29 +00:00
Luc Hantcherli 6e13ed0566 I will proceed step by step.
constitutive_dislo.f90 contains a modified version of Anxin's dislocation based model. As far as tested it, I consider it now error free. Mechanical twinning is NOT implemented YET.
mattex.mpie file is modified in accordance with the changes in constitutive_dislo.f90
It would be a great help if someone else can check the implementation. I may have overseen something.
2008-11-06 13:09:12 +00:00
Franz Roters 9692f2f3d3 added mpie_cpfem_marc2008r1_sequential.f90 2008-10-30 11:18:10 +00:00
Franz Roters 1a5a68c87a added interface routine for Marc2008r1
this includes two files: concom_f90 and creeps_f90
so you either create links of that name to the new files concom2008r1 and creeps2008r1 or rename copies of those files accordingly
2008-10-29 15:28:10 +00:00
Franz Roters fa7cf61fd9 FEsolfing.f90: - added flag for symmetric solver
- added subroutine to detect symmetric solver

mesh.f90: - added subroutine call in mesh_init to detect symmetric solver during input file parsing

mpie_cpfem_marc2005r3.f90
mpie_cpfem_marc2007r1.f90
mpie_cpfem_marc2007r1_sequential.f90: - resorted include order of other source files
                                      - symmetrize d in case a symmetric solver is used

constitutive_pheno.f90: - included code to output shear rates and shear activity as post results

CPFEM_GIA8.f90
CPFEM_Taylor.f90
CPFEM_Taylor_sequential.f90: - symmetrize H_bar
                             - generalized reference to CPFEM_results in call of SingleCrystallite
2008-09-22 08:36:51 +00:00
Luc Hantcherli 3216976d62 Question: do we have to symmetrize H_bar? 2008-08-19 14:02:14 +00:00
Yun Jo Ro b3814020f3 added slip and twin systems for hcp lattice structure
added straightforward 48x48 interaction matrix
2008-08-06 14:48:11 +00:00
Philip Eisenlohr 7faaa8532c this provides adapted functionality to go with the sequential wrapper.
moved recording of temperature, ffn, and ffn1 into case of computation
mode 1,2 to be directly used in the subsequent (and now FE sequential)
call to MaterialPoint.
2008-08-01 07:58:59 +00:00
Philip Eisenlohr db69217ce1 removed computation mode 3 (collect) such that now every cycle will
compute with either mode=1 (new inc) or mode=2
2008-08-01 07:54:32 +00:00
Philip Eisenlohr 10358fc1f0 (hopefully) improved the cutbacking scheme somewhat. introduced a bunch
of debugging to the .out file
2008-08-01 07:47:01 +00:00
Franz Roters cf1c7ce82a replaced almost all calls of matmul by our own code, gives better performance in parallel computations 2008-07-23 12:49:40 +00:00
Philip Eisenlohr 6abff4b3ba changed hybridIA_population from being wrong integer type to correct real
type.
2008-07-16 16:35:13 +00:00
Philip Eisenlohr bdcf76cd74 fixed stupidity in hybridIA evaluation. added informative output during
ODF parsing.
2008-07-16 14:49:17 +00:00
Franz Roters 7a7a5d2ae3 messed up the parameter list of TimeIntegration with the last submit 2008-07-15 08:32:44 +00:00
Franz Roters 4773cf7d09 corrected determination and evaluation of updateJaco
introduced check whether FFN1 changed and force recollect in that case
2008-07-14 14:38:19 +00:00
Philip Eisenlohr 63d81b92b7 added math_mul33x33, 66x66, and 99x99 to avoid OMP_Critical "evilmatmul" 2008-07-08 19:38:22 +00:00
Franz Roters de9e35cdb8 modified cutback counting
restore Lpguess_old in case of iInner > nInner
2008-06-25 06:26:41 +00:00
Luc Hantcherli 7453a18b42 in lattice:
- add slip-twin interaction type matrix
2008-06-17 14:42:45 +00:00
Luc Hantcherli 434ac7f06e In dislo:
- model for stacking fault energy computation w.r.t temperature and orientation
- classical thermodynamical approach to twin nucleation (delta_E)
- rename some parameters

In crystallite:
- add msg='ok', even if components in consistent tangent are not re-computed
- allow for pseudo-convergence in the outer-loop (case of slow convergence of dislocation densities)

in mattex:
- add new parameters
2008-06-17 14:40:46 +00:00
Franz Roters 2472de77c2 OpenMP seems to work now
watch out for critical sections
write and matmul statements need to be marked accordingly!!!
2008-06-17 13:15:36 +00:00
Philip Eisenlohr 6921c57c7d rev 225 had a small syntax error... 2008-06-17 11:54:34 +00:00
Philip Eisenlohr 3676b453ca added two more element types (157 and 136) 2008-06-17 09:11:54 +00:00
Philip Eisenlohr 5834a2965d fixed bug in mesh_build_sharedElems which so far counted nodes in
distorted elements twice -- part of this problem has already been fixed
with revision 182 but then only in getNodeElemDimensions.
M    mesh.f90
2008-06-16 20:49:48 +00:00
Denny Tjahjanto d2335e4a0b 2008-06-10 10:23:32 +00:00
Franz Roters 60f3571266 added code lines for OpenMP, however it does not work yet! 2008-05-26 13:11:25 +00:00
Philip Eisenlohr 51e596c81d small polishing to be compatible with NAG compiler (basis for automatic differentiation) 2008-04-29 12:18:17 +00:00
Luc Hantcherli 9626c25bfb crystallite: restoration of last known good Lp_guess
CPFEM_Taylor: exit whenever cutback limit exceeded
2008-04-28 16:04:08 +00:00
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