Commit Graph

763 Commits

Author SHA1 Message Date
Christoph Kords fc7b4d6471 new function stateJump, which takes care of immediate changes in the state (deltaState); this introduces discontinuities in the state evolution; therefore this is always and only once done after each integration step, so no evaluation of deltaState for intermediate steps of e.g. the Runge-Kutta integrator; otherwise integration becomes a pain without significant gain in accuracy
deltaState now successfully tested for nonlocal model; was not correct for integrators 1,4,5 before
2012-06-06 15:11:30 +00:00
Martin Diehl fa7f9866df removed phase contrast/preconditioning
added information on itmin in output, impoved output
set exit code to 0 on successful termination (seems to be unix standard)
exit codes:
0: successful termination
1: error (using IO_error)
2: require regrid 
updated the AL solver, still VERY experimental
2012-06-05 16:34:20 +00:00
Martin Diehl 4b6800b89a removed some unwanted open statements when writing out the sizeState 2012-06-05 13:13:33 +00:00
Franz Roters 01522cf6f2 check for valid elasticity model
improved error message in case of unknown elaticity/plasticity model
2012-06-02 14:23:28 +00:00
Nan Jia 3af9165b08 useless debugging inforomation (asking for elastic moduli output) is removed 2012-05-31 09:25:04 +00:00
Christoph Kords 145d971d7e added some debug output 2012-05-30 08:05:36 +00:00
Christoph Kords 5cc73a15a9 small correction in debug output 2012-05-30 07:41:22 +00:00
Martin Diehl 0127828f70 corrected initialization order 2012-05-29 15:08:18 +00:00
Taymor El Achkar e1c5671e1f relaxed error message triggering such that purely elastic calculations and more than one constitutive instance using hex lattice are possible. no twinning possible if no slip system exists 2012-05-24 14:08:48 +00:00
Martin Diehl 1003cfa7f8 added missing space in makefile, made removing of old files in Makefile silent and updated files for tests to current versions 2012-05-23 18:08:34 +00:00
Philip Eisenlohr c607441717 (likely) fixed a bug in the FFT-based geometry reconstruction. For (hopefully) correct math see Appendix B in paper. 2012-05-22 18:35:15 +00:00
Nan Jia bbf790a0a5 Input parameter 'QedgePerSbSystem' which denotes activation energy for each shear band system is added 2012-05-22 16:10:28 +00:00
Franz Roters 9201133913 activated keyword expansion 2012-05-22 12:45:37 +00:00
Martin Diehl cec3357e8f corrected bug causing wrong element construction when using spectral solver. Also improved error messages for invalid resolution, dimension, and homogenization. 2012-05-21 09:06:02 +00:00
Christoph Kords 20f203f799 allow minimum stable dipole height equal to zero; ensure that maximum stable dipole height is not smaller than the minimum value 2012-05-20 13:57:35 +00:00
Christoph Kords 5b02d4e8eb dipole dissociation and formation by change in stress as new mechanism in deltaState; had to add dipole height to state variables, which is however updated by deltaState instead of microstructure; alternatively microstructure had to know the current stress state 2012-05-18 14:35:52 +00:00
Christoph Kords 4da6907648 moved remobilization of dead dislocations from dotState to deltaState 2012-05-18 13:35:44 +00:00
Christoph Kords a5c1624648 check for invalid mesh type once in constitutive_init and not every time constitutive_nonlocal_dotState is called 2012-05-18 13:15:23 +00:00
Christoph Kords 8c849d62ee small corrections for how to treat the new deltaState in FPI and euler integration; all integrators successfully tested with j2 2012-05-18 13:00:15 +00:00
Christoph Kords abbae76c51 instantaneous jumps in the state by constitutive_deltaState are now incorporated for all state integrators. still they (should) not influence the result, since all constitutive laws simply return zero for the deltaState 2012-05-17 15:25:21 +00:00
Christoph Kords 351c2c6e65 deltaState depends on the current state, no the state at the beginning of the timestep 2012-05-17 12:18:30 +00:00
Christoph Kords f6d5efeed3 removed arguments Fe and Fp from collectDeltaState function call 2012-05-17 11:04:22 +00:00
Christoph Kords a54439e3b5 dotState does not have to be reset to zero. this is a remnant from older versions when the dotState for the nonlocal model used to be updated by the neighboring integration point 2012-05-16 15:35:14 +00:00
Christoph Kords 84d4652a07 all constitutive modules now contain a new function "deltaState", which in the future allows to have an instantaneous and incremental change of the state (additional to the rate based evolution with dotState). 2012-05-16 14:43:26 +00:00
Franz Roters df2d520630 stripping abaqus comments is now aware of damask comments 2012-05-15 14:59:26 +00:00
Franz Roters 701cf2e71b replaced duplicated math entry by missing mesh entry 2012-05-15 14:58:47 +00:00
Martin Diehl 0d745adfa0 corrected NaN in prec_single.f90 (was already silent but with typo), polished output and added switch in order to check range on all files except of prec.f90 (in which NaN is defined) 2012-05-11 12:46:17 +00:00
Franz Roters 7ee368f324 check whether there is any constitutive output 2012-05-11 07:38:20 +00:00
Franz Roters f8f9c089d6 check for NaN in math_QuaternionInSST 2012-05-11 07:37:32 +00:00
Franz Roters babf2647fb use non signaling version of NaN 2012-05-11 07:35:52 +00:00
Martin Diehl ce83026965 corrected bug in fft based geometry reconstruction causing mirrored geometries 2012-05-09 14:56:25 +00:00
Taymor El Achkar d11aa15a67 changed indices counting (fortran to python style, easier division to get rid of periodic copies)
corrected f2py pyf file
2012-05-09 10:09:56 +00:00
Krishna Komerla fbd075dc6e corrected automatic determination of resolution 2012-05-08 15:12:43 +00:00
Krishna Komerla c752dd5474 regridding is now working, changed the subroutine into a function
changed order of arrays in nearest neighbor search to make it fortran fast
constitutive.f90 and homogenization.f90 write state size out during initialization
setup/setup_processing.py is using byterecl to be compatible with binary files written out by solver
2012-05-08 14:57:06 +00:00
Taymor El Achkar a9a72cee97 fixed bug in nearest neighbor search, corrected error message for kdtree2.f90 2012-05-08 13:16:59 +00:00
Franz Roters eb8265b914 fixed potential division by zero error discovered by our American friends 2012-05-08 07:16:00 +00:00
Pratheek Shanthraj bdc46a8828 using better measure (norm) of phase contrast for preconditioning 2012-05-07 08:12:13 +00:00
Krishna Komerla 4b18278781 reworked neares neigbor search subroutine, now also works for voronoi tesselation (general nn search in periodic cell) 2012-05-04 13:07:37 +00:00
Martin Diehl 863f0c766e removed line continuation causing trouble 2012-05-04 08:19:12 +00:00
Martin Diehl b4775249e8 corrected standard check to make f2py working with gfortran 2012-05-03 17:12:36 +00:00
Martin Diehl 26c6063a2c utf8 encoding output to screen now for all solvers using intel ifort>10 or any gfortran (old versions might not support it, but we don't use them anyway) 2012-04-28 10:46:41 +00:00
Philip Eisenlohr dbeac18df6 no more dropping of comments in Abaqus input file assembly 2012-04-27 14:33:39 +00:00
Krishna Komerla 83e89fba3c improved regridding, especially interfacing to python (also for nearest neighbor search) 2012-04-24 17:02:27 +00:00
Krishna Komerla e33c34d86b corrected wrong integer arithmetics in calculation of coordinates in DAMASK_spectral.f90 2012-04-24 16:59:38 +00:00
Philip Eisenlohr 83e22c00a2 added missing allocation of slopeLnRate array.
changed parsing to lowercase name.
2012-04-20 12:18:38 +00:00
Martin Diehl d2c4874db3 several small corrections/polishing 2012-04-20 11:58:41 +00:00
Pratheek Shanthraj c889d20ba0 added simple preconditioning to improve convergence for high phase contrast materials in standard algorithm 2012-04-20 09:42:57 +00:00
Philip Eisenlohr caff3124fd changed multiplier keyword from "times" to "copies of" to prevent ambiguity. 2012-04-17 10:05:49 +00:00
Philip Eisenlohr dbc5a3a3ce subnodeparent check is now running only over actual number (not max) of parent nodes... 2012-04-17 09:19:44 +00:00
Martin Diehl f905a97cdf fixed bug (causing sigsev) concerning new functions mesh_spectral_get*** 2012-04-12 08:03:08 +00:00
Martin Diehl 8c559cbdc9 fixed bug concerning file handling. 2012-04-11 18:46:36 +00:00
Martin Diehl 37fa6c2e14 merged code for python and spectral solver interfacing (shared most of it anyway).
put functionality for getting header information (dimension, homogenization, resolution) in functions in mesh.f90
2012-04-11 17:28:08 +00:00
Martin Diehl a18e5e48dc added 'times' keyword in function for continuous int values: "4 times 1 => 1 1 1 1", mainly for geom files of spectral solver.
corrected name for contin"U"ousIntValues functions
2012-04-11 17:24:50 +00:00
Martin Diehl 91cfd21c88 corrected some copy and paste errors 2012-04-11 14:12:30 +00:00
Martin Diehl 9a92d343dc added Onurs modified description for tausat in j2 law.
Polishing phenopowerlaw
2012-04-11 14:01:02 +00:00
Martin Diehl f2da887899 added missing ":" in mesh.f90, introduced absolute stress tolerance for spectral solver in numerics.config/numerics.f90 2012-04-11 12:57:25 +00:00
Krishna Komerla f20cecd421 integrated subroutine for regridding into mesh.f90 and made it available for python 2012-04-10 15:15:46 +00:00
Krishna Komerla d638c563af reworked python - fortran interfacing 2012-04-10 13:30:34 +00:00
Martin Diehl b17740c9c3 corrected misplaced line for linear guessing 2012-04-06 14:23:06 +00:00
Christoph Kords 79592d2f0f get debug info for spectral solver as well 2012-04-05 09:17:09 +00:00
Martin Diehl 990f547091 improved AL solver, now using guesses for P(x) to improve performance. Changes (and whole solver) still experimental 2012-03-31 12:41:46 +00:00
Christoph Kords 91a70b0fb3 before turning terminally ill report at which g,i,e crystallite did not converge 2012-03-30 13:16:45 +00:00
Martin Diehl c29ae95af7 new version of AL spectral solver (seems to work, but still experimental)
new concept of DAMASK for Python: Now using also IO.f90, debug.f90 etc. instead of mimicing their necessary function. This needs DAMASK_python.f90 and DAMASK_python_interface.f90 (At the moment more or less copies of respective spectral files).
polished and renamed the scripts for converging ang files
renamed voronoi_randomSeeding.py to spectral_randomSeeding.py
2012-03-29 19:54:31 +00:00
Martin Diehl 17826d7c98 now initializing planner flag for fftw with useful value even if init wasn't executed 2012-03-26 10:03:39 +00:00
Franz Roters 7947ae36b3 changed default value of err_div_tol 2012-03-22 10:33:54 +00:00
Franz Roters 00de182873 corrected if statement to check assembly of input files 2012-03-22 07:44:46 +00:00
Martin Diehl 44d8282863 corrected reading in of ABAQUS debug modes and made numbering scheme for debugging depending on variables hoping to prevent these errors in debug.f90
Put all (now public) logicals in FEsolving.f90 again into one specification statement
2012-03-21 18:04:52 +00:00
Martin Diehl 15dd860de9 new switch "SOLVER", set it to SOLVER=AL to compile the Augmented Lagrange version of the spectral solver 2012-03-21 18:01:25 +00:00
Pratheek Shanthraj 131c9ac93e dPdF calculations made consistent with constitutive_TandItsTangent 2012-03-21 15:00:36 +00:00
Franz Roters 8a2f2c5a95 stress iteration loop now uses generalized elasticity by calling TandItsTangent
the anlalytical tangent calculation should now be adopted to also use TandItsTangent
2012-03-21 10:57:27 +00:00
Franz Roters 8d8a8103eb lastIncConverged, outdatedByNewInc, and cutBack need to be public as well!
please keep in mind the FEM interfaces which also need to work!!!
2012-03-21 07:51:07 +00:00
Martin Diehl dbdc7ddfa2 debug.config, debug.f90, DAMASK_abaqus_exp.f, DAMASK_abaqus_std.f: changed to new debug scheme (wasn't working)
lattice.f90, FEsolving.f90: explicitly defined public functions and variables, all others are now private
numerics.f90: changed output format of real numbers, now instead of 0.1eX 1.0e(X-1) is printed to screen
Makefile: now using correct Optimization flags for OPTIMIZATION=AGGRESSIVE
DAMASK_spectral_AL.f90: improved, but still testing. Stress BCs now seem to be handled correctly
2012-03-20 18:01:31 +00:00
Martin Diehl 04d83ec9cd added "-assume byterecl" in Makefile for ifortran to specify with "recl=" the size of the file in bytes instead of 4byte chunk when opening files. (same as in gfortran per default).
no important changes in other files
2012-03-20 12:26:21 +00:00
Philip Eisenlohr 012d568cf8 slightly restructured divergence debug output 2012-03-19 16:41:55 +00:00
Martin Diehl 632d57cc31 corrected div calculation regarding dimension and resolution 2012-03-19 13:19:15 +00:00
Christoph Kords 5263366615 adding switch in material.config for short range stress correction 2012-03-15 14:58:12 +00:00
Christoph Kords 7330031579 corrected special treatment of periodic images in calculation of stress correction 2012-03-15 10:08:08 +00:00
Philip Eisenlohr d4463fe56a shifted location of elasticity part closer to plasticity... (constitutive has been shaken back and forth quite a bit today ;-] ) 2012-03-15 09:51:33 +00:00
Christoph Kords ea634d978a adapted comments to recent change 2012-03-15 09:47:32 +00:00
Franz Roters b7fc4fe6e4 fixed one last typo, now it finally compiles, sorry for this! 2012-03-15 09:42:33 +00:00
Franz Roters 4d90d90886 last comment also holds for this one 2012-03-15 09:25:15 +00:00
Franz Roters 70a44fbbdd constitutive models need to skip new keyword elasticity when reading their arameters 2012-03-15 09:22:24 +00:00
Christoph Kords 503f6ed040 i think it's elasticity not elaticity, right? 2012-03-15 08:46:51 +00:00
Franz Roters 36edb4dd9f introduced keyword elasticity in material.config
added constitutive_TandItsTangent and special version constitutive_hooke_TandItsTangent
those are however not yet used and need to be tested
2012-03-14 16:16:11 +00:00
Christoph Kords 9cbbb7cab5 Dead dislocations are treated the same as mobile dislocations for the flux part though they do not contribute to slip. By that the pileup of dead dislocations is able to diminish with time (kinetics are the same as for the glide part; this is not correct but gives valuable results). Also remobilization of dead dislocations at neighbor is taken into account for flux. 2012-03-14 15:32:50 +00:00
Christoph Kords 6bca2150f2 local stress correction of gradient in dead dislocations and neighboring excess density is additive 2012-03-14 15:24:19 +00:00
Christoph Kords 06c93435f2 viscosity term in kinetics law proportional to resolvedstress minus forest term 2012-03-14 15:18:36 +00:00
Pratheek Shanthraj c2f5cebacb simplified analytic jacobian calculation. removed Lpfrac, time_sensitive. introduced rate_sensitivity flag when calling crystallite_stressAndItsTangent that is currently set to .false. and is to be set according to which dPdF the FE solver is asking for 2012-03-14 13:56:50 +00:00
Christoph Kords 2b5ed4ab93 corrected name of makefile (first letter upper case) 2012-03-14 11:58:05 +00:00
Christoph Kords d2652cae47 multiplication only controlled by screws 2012-03-13 14:19:36 +00:00
Franz Roters 433d8a338c missed several occurences of constitution 2012-03-12 14:43:19 +00:00
Franz Roters c9ed989dad replaced keyword constitution with plasticity in preparation of upcomming generalized elasticity 2012-03-12 14:09:37 +00:00
Martin Diehl efd653fb00 removed old *.output* and *.spectralOut as they are not updated anyway from reference.
introduced a numbering scheme for variants
calculated new reference results due to slight changes
2012-03-09 16:30:42 +00:00
Martin Diehl ac5dd14c5f removed some small bugs in IO.f90 (related to initialization of variables)
DAMASK_spectral.f90 adopted to new debug scheme, substituted print with write statements
2012-03-09 15:22:52 +00:00
Martin Diehl bd9667bd4b added new, flexible debugging scheme.
now all modules have their own debug specification.
compiles and runs, I hope nothing is broken
did a lot of polishing
2012-03-08 20:25:28 +00:00
Martin Diehl dec9451b1e first draft of the Augmented Lagrangian based algorithm, still experimental 2012-03-07 17:37:40 +00:00
Martin Diehl 2a7888c7e1 removed (in IO.f90) a dangerous initialization statement.
Please read http://www.cs.rpi.edu/~szymansk/OOF90/bugs.html#4
for more details.

Other files are just a little bit polished
2012-03-07 10:07:29 +00:00
Martin Diehl d00c3c9e19 added error for to IO to substitute stop statement in kdtree2
explicitly defined all functions in as either public or private in the modules to have a quick overview on all functions and parameters that are available
2012-03-06 14:52:48 +00:00
Pratheek Shanthraj 17e9698659 added time_sensitive flag to ignore or add time sensitive component to analytic jacobian (should be close to perturbed jacobian when ignored)
now uses sub_dt for analytic jacobian calculations
bug fixes
2012-03-01 19:42:43 +00:00
Martin Diehl df03dee91c improved readability, removed archive statements. With new option FASTBUILD=YES build without any warnings etc 2012-03-01 19:34:42 +00:00