Christoph Kords
0980920b66
In crystallite: for state integrators 2 and 3 the deltaState always has to be done at the beginning of the integration, not at the end; otherwise the stiffness calculation can be completely wrong, when the state is changed after the stress integration for the central solution.
...
Also changed some debugging levels in crystallite and mainly in constitutive_nonlocal
2012-10-22 07:59:35 +00:00
Christoph Kords
3ecaa9e371
modified multiplication term in order to mimic a discrete distribution of dislocation sources; namely, at high resolution, when there is (on average) less than one source per integration point, a random generator decides whether there is a source in the finite volume or not; if there is one, then the multiplication turns independent of the density and depends only on the velocity/volume times a scalar factor; recovers density*velocity/lambda for large finite volumes
2012-10-19 11:40:17 +00:00
Christoph Kords
e4054c116d
fixed problem with gnu compiler: allocation of variables in constitutive_nonlocal_stateInit was not safe when not using any nonlocal constitution
...
put header of debugging output in constitutive_init at the start of the function in order to make debugging easier
2012-10-09 12:34:57 +00:00
Christoph Kords
a84e0529c3
make correction of hardening coefficients thread safe
2012-10-05 16:05:51 +00:00
Christoph Kords
40a2e652e7
introduced material parameter "linetension", which indicates how strong the effect of the line tension on the hardening coefficients is
2012-10-05 14:42:41 +00:00
Christoph Kords
7cc6108a04
hardening coefficients for fcc are density dependent (line tension effect, Devincre, Kubin, Hoc; 2006; Physical analyses of crystal plasticity by DD simulations)
...
fixed bug with thermal annihilation producing negative density in case of very small dipole density and high climb velocity
2012-10-04 18:08:40 +00:00
Christoph Kords
bce8012c89
random distribution of initial dislocation density now really independent of meshsize
2012-10-02 15:26:58 +00:00
Christoph Kords
91b7883c2a
random distribution of initial dislocation density now independent of mesh size
2012-10-02 13:35:34 +00:00
Christoph Kords
1502a71f0c
added possibility to start with an initial random distribution of dislocation segments with specific overall density
2012-10-02 12:57:24 +00:00
Christoph Kords
29023cea3c
minor correction of debugging output
2012-09-05 11:19:46 +00:00
Christoph Kords
f153866030
introduced factor to control edge contribution to multiplication;
...
dislocation density below a single dislocation per IP considered not significant
2012-09-04 16:56:37 +00:00
Christoph Kords
d80b45c1d9
added relativistic correction of velocity (maximum velocity given by parameter in material.config); probability of thermal activation in velocity law not allowed to be greater than one.
...
output of creation rate for edge jogs now for own system, not collinear.
check for negative densities in dotState now uses absoluteToleranceRho instead of significantRho.
2012-08-30 07:33:13 +00:00
Christoph Kords
f3e7b3cec8
added separate output of dipole formation rate for edge and screw
2012-08-27 15:57:31 +00:00
Christoph Kords
9214da4465
added missing labels to list of available outputs
2012-08-27 12:41:57 +00:00
Christoph Kords
3cd5fa90e8
corrected dislocation multiplication term for special case of zero density
2012-08-24 11:36:46 +00:00
Christoph Kords
4f67d04c69
new parameter "significantRho" for nonlocal constitutive law ; density below this value will hardly contribute to dislocation glide or any dislocation reaction ; old parameter "absoluteToleranceRho" is now used only for its initial purpose, namely the absolute tolerance in the state integration
2012-08-23 05:48:21 +00:00
Christoph Kords
222aed9f60
derivative of velocity with respect to resolved stress was flawed; now much better convergence of stress integration for nonlocal constitutive law
2012-08-21 14:40:01 +00:00
Christoph Kords
b2aacf9ca4
rates in constitutive_results are taken directly from last converged step and not calculated again; added output of rates for annihilation of screws and deposition of edge jogs on collinear system
2012-08-16 11:03:22 +00:00
Christoph Kords
bd754dbefd
corrected debug output of evolution rates; added possibility to change the safety factor for the CFL flux condition via the material.config file; updated the example material.config due to recent changes in nonlocal constitutive
2012-08-16 09:13:38 +00:00
Christoph Kords
f5e7d576f1
introduced annihilation of screw dipoles; so far no thermal activation, but immediate annihilation; each annihilated screw dipole leaves behind an edge jog of same length as the dipole height on the collinear system
2012-08-14 12:26:20 +00:00
Christoph Kords
a48d180f8c
allow prefactor for self-diffusion to be equal to zero
2012-08-06 09:03:33 +00:00
Christoph Kords
e8df3678aa
added possibility to assign the transmissivity of grain boundaries a fixed value by use of the keyword "grainboundaryTransmissivity" in the material.config; grain boundaries are identified as interfaces between areas of different material_texture
2012-08-03 14:32:49 +00:00
Christoph Kords
15c5131874
corrected formulation of maximum height of screw dislocation dipoles
2012-07-24 14:50:11 +00:00
Christoph Kords
c4c00f04f4
no dipole formation by stress decrease;
...
dipole dissociation rate proportional to "deltaDipoleLimit / oldDipoleLimit", not "deltaDipoleLimit / newDipoleLimit"
2012-07-24 06:57:37 +00:00
Philip Eisenlohr
7c6fc121fd
condensed error reporting for constitutive_XYZ_init
...
removed erroneous check for structure>3
2012-07-17 17:36:24 +00:00
Philip Eisenlohr
4d09ef0648
changed variable name "debug_what" to "debug_level"
2012-07-05 09:54:50 +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
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
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
eb8265b914
fixed potential division by zero error discovered by our American friends
2012-05-08 07:16:00 +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
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
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
Christoph Kords
d2652cae47
multiplication only controlled by screws
2012-03-13 14:19:36 +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
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
478a6d110c
mixed things up, did not want to commit constitutive_nonlocal.f90 but rather DAMASK_spectral.f90!!!!
...
did a lot of polishing on constitutive_nonlocal.f90 (mostly checked in at last commit), for changes on DAMASK_spectral.f90 see previous message
2012-02-23 17:20:57 +00:00
Martin Diehl
a98832100f
introduced itmin parameter for spectral code for defining minimum number of cycles
...
removed simplified_algorthim flag because the basic scheme using the polarization field will not be implemented
introduced divergence_correction flag for making divergence criterion resolution-independent (still experimental and not set by default)
corrected output and restart frequency (now modulo on incs of current load case)
2012-02-23 16:43:17 +00:00
Christoph Kords
9bf5b9dc86
dotState=NaN enforces cutback, if evolution rates lead to negative densities
2012-02-22 16:08:22 +00:00
Christoph Kords
97b2240fe9
take absolute dislocation velocities when testing Courant-Friedrichs-Lewy condition
2012-02-21 13:11:47 +00:00
Nan Jia
db06c797cd
store number of outputs for each instance of the constitution in constitutive_[j2/titanmod/...]_Nouput and use this value to loop over all valid outputs when determining the size of the outputs array
2012-02-14 15:19:59 +00:00