Martin Diehl
bbcffa668b
some small changes in including PETSc *.h90 files to prevent warnings.
...
It seems that a bug in old gfortran 4.5.0 causes the problems, at least with 4.7.3 it seems to work after fixing the bugs in IO.f90
2012-11-07 13:11:41 +00:00
Martin Diehl
9b99825ac6
preventing array index out of bounds in case of empty line, removed to goto statements
2012-11-07 09:31:46 +00:00
Martin Diehl
5214b93342
fixed bug when reading in geometry for spectral solver
2012-11-06 17:16:01 +00:00
Martin Diehl
3ada4897fb
reordered PETSc initialization (now first part done in interface, setting of parameters done in numerics), removed unnecessary includes for PETSc
...
still not running with gfortran, use at own risk!
2012-11-06 16:00:51 +00:00
Martin Diehl
a86d528a4a
replaced call flush(6) by flush(6), slightly improved formating for output of gfortran version
2012-11-06 15:50:20 +00:00
Christoph Kords
5b6baa7c0d
introduced distinction between ip coordinates and cell center coordinates; the former can be globally calculated by subroutine mesh_build_ipCoordinates, the latter locally by the function mesh_cellCenterCoordinates; renamed mesh_ipCenterOfGravity to mesh_ipCordinates
2012-11-06 14:37:13 +00:00
Christoph Kords
bb033c5fe7
Simplified algorithm of crystallite_integrateStress while preserving (almost) same functionality.
...
Removed "leapfrogging" (increase of step for next guess, when last guess was ok); Replaced Armijo rule testing for step size by simple check if the residuum got better, since the former virtually did not have any effect; consistently using the 2-norm of the residuum rather than infinity-norm for the convergence check throughout the function
2012-11-06 12:35:45 +00:00
Christoph Kords
639d6e0655
inserted missing flush(crystallite_todo) in parallel section; might have caused trouble in parallel calculations before
2012-11-05 14:45:52 +00:00
Martin Diehl
086fe138b1
substituted matrix inversion to solve equation by direct solution routine from LAPACK
2012-10-31 09:56:26 +00:00
Christoph Kords
55dc286be2
corrected limit for upper stable dipole distance; fixed a bug in the postResults where division by zero might happen
2012-10-29 13:02:01 +00:00
Christoph Kords
f666f8dcf3
added possibility to scale the plastic shearrate by the ratio of mobile to total density; keyword in material.config is "deadZone"
2012-10-29 12:49:28 +00:00
Martin Diehl
ca596bc7af
error messages are now printed, added svn properties
2012-10-25 09:16:17 +00:00
Christoph Kords
93cc466749
third entry in mesh_ipNeighborhood stores the neighbor_index that points from each neighbor back to the central ip; needed in nonlocal model
2012-10-24 14:03:02 +00:00
Martin Diehl
13b55275b1
documented utilities and structured, worked on the restart capabilities of the new basic solver
2012-10-24 11:31:40 +00:00
Philip Eisenlohr
5ad0eda1b6
switched saturation behavior!!
...
was \dot s_alpha = (1-s_alpha/s_inf)^a h_alphabeta \dot gamma_beta
now \dot s_alpha = h_alphabeta (1-s_beta/s_inf)^a \dot gamma_beta
current form is consistent with the genmat implementation (and appears to make more physical sense). Kalidindi_etal1992 suggested this form, but altered it to the alpha-one in Bachu+Kalidindi1998... By now, it seems that some groups use alpha, others beta approach.
introduced two new absolute tolerance values for "shears" and "twinFrac" (default 1e-6).
2012-10-22 14:55:07 +00:00
Christoph Kords
2be331b74d
In crystallite for state integrators 2 and 3: now that "stateJump" is called before integrating dotState, we have to do state = state + dotState *dt instead of state = subState0 + dotState * dt; otherwise the deltaState is lost
2012-10-22 13:34:15 +00:00
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
36676029e1
for state integrator 2 (explicit euler) and 3 (adaptive 2nd order euler): don't do any state evolution during stiffness perturbation, but only stress integration, since for those cases the state is not restored after every perturbation step
2012-10-19 11:20:31 +00:00
Martin Diehl
b9f97ba5da
unified naming scheme, fixed a bug in the new basic scheme, and added a statistic file similar to abaqus to store the information on needed cut backs and iterations for each inc
2012-10-19 08:44:21 +00:00
Christoph Kords
6230dacbac
only first broken ip signals "terminally ill"
2012-10-18 13:48:06 +00:00
Christoph Kords
4a6e08bb69
changed keyword in spectral geometry file for multiplication of entries from "copies of" to "of"
2012-10-18 10:17:16 +00:00
Philip Eisenlohr
dd5f453994
mainly cosmetics. added some comments. changed debug levels for some outputs. corrected (probably non-essential) check for NaN in FPI stressIntegrator.
2012-10-18 09:53:26 +00:00
Philip Eisenlohr
79a5a30a90
removed now obsolete vectorproduct variables st, tt...
2012-10-18 07:25:49 +00:00
Christoph Kords
5f0440fde3
crystallite_integrateStress now raises an error if Fp becomes NaN
2012-10-17 16:19:42 +00:00
Philip Eisenlohr
31f20e51da
just to be able to tell about the bug I found in the hex slip systems---which I actually forgot to mention during the last commit---I slipped in a syntax error that now is fixed, too...
2012-10-12 20:31:50 +00:00
Philip Eisenlohr
05c5ea42d7
prepared loop distributions to hold "over shooters"
2012-10-12 18:00:55 +00:00
Philip Eisenlohr
82a13af474
tidied up the Schmid matrix calculations.
...
added internal check against dilatation in Schmid matrices.
2012-10-12 17:59:50 +00:00
Philip Eisenlohr
b20c612e25
added error "0" for internal (run time) checks failing
2012-10-12 17:55:23 +00:00
Philip Eisenlohr
1b2edd7e7d
fixed error in _identity (wrong delta-function)
...
added _exp33 for matrix exponential
added trace33 for matrix trace
2012-10-12 17:54:20 +00:00
Martin Diehl
324dfda5a2
added comments (doxygen conform) to phenopowerlaw, added warning on specifying h0_sliptwin as it has no effect
2012-10-11 14:49:12 +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
Martin Diehl
80465c0b49
moved option for UTF-8 encoding to spectral interface as this is now called before prec init.
...
if UTF-8 encoding is needed for FEM solver (old compilers might not support it), add the same statement to the corresponding interface routine
2012-10-04 14:22:39 +00:00
Martin Diehl
e2ea3cdff6
again some changes regarding creation of NaN, ieee-conforming way is not in the complilers yet.
2012-10-02 16:53:03 +00:00
Christoph Kords
bce8012c89
random distribution of initial dislocation density now really independent of meshsize
2012-10-02 15:26:58 +00:00
Martin Diehl
d5ce49c471
numerics got some protected statements and is now reading in the new keywords for the solver selection in small letters.
...
spectral solver got cut back facilities + improved output to screen
2012-10-02 15:26:56 +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
Martin Diehl
0bcb8f59db
added doxygen comments, some polishing, added "protected" statements where applicable
2012-10-02 12:53:25 +00:00
Martin Diehl
6301787df4
moved the the variable cutBack from FEsolving.f90 (where it was not used at all) to the interface routines to make responsibility of cut back control clear
...
PLEASE RUN setup_code.py IF YOU DO MARC SIMULATIONS, THE INTERFACE HAS CHANGED
2012-10-02 12:46:58 +00:00
Martin Diehl
c8b7da432c
set debug_level to be protected as it is read-only for other modules
2012-10-02 09:35:39 +00:00
Martin Diehl
4c7bcb8df9
modified formated integer output and added error number in case maximum number of cutbacks is reached
2012-10-02 09:30:13 +00:00
Franz Roters
9fc46b4950
added /echo/ statements
2012-10-02 08:12:53 +00:00
Christoph Kords
b99a846503
new scaling feature in numerics (unitlength) did not scale the reference coordinates in the first place; now this is taken care of in mesh.f90, so scaling should work properly
2012-09-25 16:21:58 +00:00
Christoph Kords
d0fd3c03c5
forgot to check in; belongs to rev 1762
2012-09-24 16:22:25 +00:00
Martin Diehl
912277d1ed
substituted the call to the flush subroutine with the intrisic flush(6) function
2012-09-24 12:10:28 +00:00
Christoph Kords
8336d0705c
new numerics parameter "unitlength" that scales the model size in DAMASK; this enables to use very small models in marc without getting any numerical problems for example with contact which does not seem to work when using very small numbers
2012-09-24 06:13:26 +00:00