Commit Graph

356 Commits

Author SHA1 Message Date
Christoph Kords 917a8523af corrected misspelling of function 'IO_continousIntValues' 2009-04-02 13:02:25 +00:00
Christoph Kords a024826c6c Element type 21 (20-node hexagon with triquadric interpolation functions) is now included.
'mesh_get_nodeElemDimensions', mesh_build_elements', 'mesh_build_sharedElems' now allow for more than 14 nodes per elements which are then written in more than one line in the 'connectivity' field of the input file
2009-04-02 13:00:51 +00:00
Philip Eisenlohr e5af3874b2 added homogneization_typeInstance and homogenization_Noutput for future use 2009-03-31 09:24:12 +00:00
Philip Eisenlohr d96c0a6495 added subroutine to throw warnings (instead of terminal errors) 2009-03-31 09:21:57 +00:00
Franz Roters 318fa8008c corrected check of number of textures 2009-03-31 09:09:24 +00:00
Franz Roters 51cc6714d0 changed pLongInt to 8 2009-03-31 09:07:30 +00:00
Franz Roters a5a2fdb306 introduced pLongInt for Long Integers 2009-03-31 08:51:14 +00:00
Franz Roters 482b256d84 changed output format for more than 999 microstructures 2009-03-31 08:49:23 +00:00
Philip Eisenlohr a9824e473d added function (math_inv3x3) for inverting a 3x3 matrix by Cramer's methods 2009-03-31 07:31:38 +00:00
Christoph Kords 78eed33d6d changed "tickrate" to type integer(8) for microsecond resolution 2009-03-30 14:54:05 +00:00
Philip Eisenlohr ee3fdcb2c4 extended linking between nodes and IPs to account for more complex
situations in quadratic shape function elements.
2009-03-30 14:50:19 +00:00
Philip Eisenlohr 5c1889e6cd simplified constitutive_init call 2009-03-26 08:43:31 +00:00
Franz Roters 2fa3f1de4d renamed makeMe to makeMe.py to make file association of Windows work 2009-03-25 08:39:53 +00:00
Philip Eisenlohr 31d3dae279 FE (Marc) interface is now general. Requires to execute "makeMe" in order to derive the specific interface routines for each Marc version (e.g., 2007r1 and 2008r1) from mpie_cpfem_marc.f90. Pls do not commit explicit mpie_cpfem_marcXXX.f90 anymore and ignore them for SVN control. 2009-03-23 16:08:17 +00:00
Franz Roters 8441ff5372 adopted sequence of including lattice.f90 and material.f90 2009-03-23 09:52:23 +00:00
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