Christoph Kords
235266b169
openmp parallelization working again (at least for j2 and nonlocal constitutive model).
...
In order to keep it like that, please follow these simple rules:
DON'T use implicit array subscripts:
example: real, dimension(3,3) :: A,B
A(:,2) = B(:,1) <--- DON'T USE
A(1:3,2) = B(1:3,1) <--- BETTER USE
In many cases the use of explicit array subscripts is inevitable for parallelization. Additionally, it is an easy means to prevent memory leaks.
Enclose all write statements with the following:
!$OMP CRITICAL (write2out)
<your write statement>
!$OMP END CRITICAL (write2out)
Whenever you change something in the code and are not sure if it affects parallelization and leads to nonconforming behavior, please ask me and/or Franz to check this.
2011-03-17 10:46:17 +00:00
Franz Roters
97a0146672
deactivated one debug statement at the end of crystallite_updateState(g,i,e) as it leads to division by zero if constitutive_state(g,i,e)%p(1:mySize) contains zero values
...
statement should be changed to check for zero values
2011-03-11 10:05:30 +00:00
Christoph Kords
ad4706673b
* removed calculations for dipole formation/dissociation by stress change, since it is not used anyways; also removed associated constitutive outputs from material.config
...
* removed input variables in constitutive_collectDotState and constitutive_postResults that are not needed anymore (because of recent changes in constitutive_nonlocal)
2011-02-25 09:53:20 +00:00
Christoph Kords
2f503f5cdb
added "Lp" as crystallite output
2011-02-25 08:15:26 +00:00
Christoph Kords
96d3682d5e
* new global integer variable "numerics_integrationMode" (1 indicating integration of central solution, 2 indicating integration of perturbed state)
...
* combined "integrator" and "integratorStiffness" in new global variable "numerics_integrator"
2011-02-23 08:29:51 +00:00
Christoph Kords
466ced911e
* check convergence for nonlocals also in stiffness calculation mode
2011-02-09 08:39:07 +00:00
Philip Eisenlohr
c00a42a9a4
fixed last remaining tensor outputs to their transposed versions
2011-01-27 14:29:06 +00:00
Philip Eisenlohr
6ac06af517
sorry, forgot to alter the most important part: post_results..! eventually, the t16 has defgrads and friends in correct format: du_i/dx_j is listed as linear array (1,1),(1,2),(1,3),(2,1),...
2011-01-24 16:23:37 +00:00
Philip Eisenlohr
4ee40df5ba
transposed writing into t16 file (and screen/debug) did not work with just stating array(1:3,:)...
...
fixed by using math_transpose3x3 (and similar) instead.
2011-01-24 15:02:19 +00:00
Philip Eisenlohr
794aeb253b
crystallite and CPFEM now print/output tensors in ij notation (used to be, particularly in the t16, ji, i.e. transposed...)
...
math reports random seed used for rnd() generation
2011-01-20 19:25:45 +00:00
Christoph Kords
b9b226548c
* enclose wall time measurement for LpAndItsTangent and count of leapfrogbreaks by CRITICAL construct
...
* better use SINGLE (having an implicit barrier at the end) instead of MASTER construct
* deleted all explicit BARRIERs after do loops since parallel loop construct implies barrier at the end
2010-11-19 17:29:29 +00:00
Christoph Kords
4f267f4375
parallelization now works properly (not yet tested extensively though):
...
* had to add some BARRIER constructs
* only the master thread is allowed to increase the state counter
yet parallelization seems not to give a significant decrease in calculation time with nonlocal model (because of too many CRITICAL statements?)
2010-11-11 16:16:05 +00:00
Christoph Kords
14594dc9e2
* OpenMP does not like unbounded array subscripts in function calls
...
* some write statements were still not enclosed by CRITICAL construct, some needed a MASTER construct
2010-11-11 13:14:53 +00:00
Christoph Kords
405d5529e7
* checked and corrected parallelization of code. compiles now successfully, but simply aborts computation with first parallel directive without any comment :-(((
...
* also put a call to constitutive_microstructure at the start of each crystallite_integration subroutine like it was before. need that for nonlocal model in case of crystallite cutback
2010-11-03 17:22:48 +00:00
Philip Eisenlohr
0dd99cb965
lattice: (re)introduced _symmetryType function to replace unsafe lookup array
...
numerics: polishing
mpie_cpfem_marc: polishing
..powerlaw: aware of symmetryType function
crystallite: aware of symmetryType function, smaller leapfrog acceleration
IO: new warning 101
CPFEM: range of odd stress is now -1e15...+1e15, H_sym is used for stiffness
2010-11-03 14:58:11 +00:00
Christoph Kords
4c20daa00d
state loop count was wrong for adaptive euler integration
2010-10-28 12:22:17 +00:00
Christoph Kords
9320d48305
in RKCK45 state integration: dotState was not saved in last Runge-Kutta step
2010-10-27 08:48:04 +00:00
Christoph Kords
f5f3ef5ecc
* have to reset dotState to zero before call to collectDotState (only important for nonlocal calculation)
...
* in Fixed Point Iteration: update dependent states after state preguess was missing; on the other hand, the first call to constitutive_microstructure was obsolete
2010-10-26 14:04:33 +00:00
Christoph Kords
366d52bd71
* former "relevantRho" and "relevantResistance" is renamed to "atol_rho" and "atol_resistance" and now used as an absolute tolerance for the state residuum. before it was used rather as significant state, so whenever the state dropped below that value it was considered converged. (In dislotwin and titanmod constitutive law there is only one value atol_rho which is used for all the states, though the state array consists not only of densities. We need further parameters here!)
...
* somewhat simplified convergence check for adaptive euler and runge-kutta
2010-10-26 13:16:37 +00:00
Christoph Kords
e49de75fe3
stiffness calculation now only needs a single function call to the respective integrator method instead of one call per grain (which seems to heavily slow down the computation). also no special treatment for non-local material points anymore.
2010-10-15 14:57:13 +00:00
Christoph Kords
fffe731447
* had to correct nonlocal slip system compatibility and flux calculation. last update gave wrong results.
2010-10-15 13:19:26 +00:00
Christoph Kords
724960686f
* in nonlocal model: dislocation flux now with valid description also for large angle grain boundaries; transfer of dislocations from one slip system to the other according to new variable "constitutive_nonlocal_compatibility" which depends on the angle between slip plane normals and slip directions and is updated once per cycle in function "crystallite_orientations"
...
* reactivated debugging functionality for "non-standard" integration methods
2010-10-12 13:08:54 +00:00
Christoph Kords
fce7590c17
* now able to choose method for state integration (integrator and integratorStiffness in numerics.config); standard is "Fixed Point Iteration", which is basically the same as before; others available are "Explicit Euler", "AdaptiveEuler", "Classical Runge-Kutta" and "Runge-Kutta Cash-Karp"
...
* now remembering stiffness similar to how we do it for Lp etc.; avoids undefined stiffness values for nonconverged stiffness calculation
* non-local stuff:
* changed non-local kinetics (Gilman2002)
* enforce zero shearrate for overall carrrier density below relevant density
* enforce zero density for those states that become negative and were below relevant density before
* dislocation velocity is not limited by V^(1/3) / dt anymore
2010-10-01 12:18:49 +00:00
Philip Eisenlohr
b259fbd9c6
1) added distribution of leapfrog breaks
...
2) lattice_symmetryType is now a function (former lookup array was buggy)
3) stricter check of state var values (>0!) and memory deallocation done
2010-09-30 07:31:53 +00:00
Philip Eisenlohr
83a921eec2
crystallite: polishing
...
rest: added "$ID" and line ending settings...
2010-09-23 08:05:50 +00:00
Alankar Alankar
7548858ffa
Some useful changes in damper for quicker convergence.
2010-09-22 08:54:36 +00:00
Alankar Alankar
18c86ca0b1
Updated corresponding files for titanmod constitutive
2010-09-13 09:29:03 +00:00
Philip Eisenlohr
9a20f742ea
leaner memory requirement to store states and their rates when calculating the crystallite stiffness
2010-09-13 09:13:25 +00:00
Philip Eisenlohr
a3c92061f9
1) terminallyIll was reset before FE did cutback --> useless extra calculations of same problem over and over...
...
2) local stiffness calculation is now standard for non-local grains
3) stressLoopDistribution discriminates between (a) central solution and (b) stiffness perturbation
4) debugger is switched on as standard... (but verboseDebugger not!)
2010-09-06 16:06:41 +00:00
Christoph Kords
05568ef73b
calculation of state damper was erroneous for use with nonlocal and other constitution at the same time
2010-08-26 12:54:31 +00:00
Christoph Kords
197d7ea8d9
rearranged output statements in crystallite init for better readability in output file
2010-08-26 09:52:40 +00:00
Philip Eisenlohr
c352146fe6
exchanged forall (warning causers) to nested do loops
...
deleted (currently unused) symmetrization of H tensor in CPFEM.f90 --> Denny pls advise?
2010-08-19 21:35:38 +00:00
Philip Eisenlohr
298cecbfec
corrected syntax errors (long lines, line continuation by \) and logical mistake in mpie_cpfem_marc / abq_std which went unnoticed in ifort. Using SunStudio f90 surfaced those...
2010-08-03 23:47:00 +00:00
Christoph Kords
6d874e2c1f
nonlocal stiffness calculation:
...
rather perturb all components at once (and optionally decrease the frequency of the Jacobian update with the iJaco parameter) than perturbing only a single component per cycle
2010-06-17 06:32:56 +00:00
Christoph Kords
3ce1882d29
when calculating dislocation stress at grain boundaries, densities are now extrapolated similarly to like it was already done at free surfaces
2010-06-07 16:01:37 +00:00
Denny Tjahjanto
9932c90c73
restoring the crystallite.f90, IO.f90 and material.f90 to the version 575. the version 576 of these files contain some uncleared debugging statements.
2010-05-26 16:34:44 +00:00
Denny Tjahjanto
d114a600c3
fixed some errors in QuaternionToEuler, RToQuaternion to get the correct texture representation in the output.
2010-05-26 15:52:54 +00:00
Christoph Kords
51da3b6242
sorry, in rev 568 some variables were not declared in crystallite_postResults
2010-05-18 12:36:09 +00:00
Christoph Kords
d96780967b
added some output variables in crystallite: F, Fe, Fp, Ee, P, S
2010-05-18 07:57:13 +00:00
Claudio Zambaldi
15328e51cf
Like this Euler angles AND grain rotation should be OK.
2010-05-11 15:06:21 +00:00
Claudio Zambaldi
2405a51042
crystallite:
...
- grainrotation calculation now is done with symmetryID 0, i.e. without symmetry reduction since we want the absolute misorientation.
- While math has everything in radians, post results eulerangles and axisangle are given in degrees.
And: grain rotation seems OK after the previous changes in math module.
2010-05-07 12:01:46 +00:00
Christoph Kords
ea718573ef
return 180° disorientation about 100 for neighbors with different phases
2010-04-29 12:28:51 +00:00
Christoph Kords
c34c07a6ff
statedamper has to be local (specific for each e,i,g); with a global damping we may produce spurious convergence
2010-04-29 07:41:29 +00:00
Claudio Zambaldi
79f286f24c
small typo
2010-04-28 17:45:30 +00:00
Claudio Zambaldi
0b83fa0fb2
corrected (?) disorientation calc and introduced some new assisting functions
2010-04-28 17:19:58 +00:00
Claudio Zambaldi
cab2261693
New array crystallite_symmetryID(i,g,e) is now filled during initialization run with 1 for bcc and fcc phase and 2 for hexagonal phase. The values are needed for misorientation calculations to apply the correct symmetry operators for cubic and hexagonal phases.
2010-04-19 10:03:34 +00:00
Claudio Zambaldi
249042c2d3
New output can be requested from crystallite:
...
(output) grainrotation
it gives the deviation from the initial grain orientation
in axis-angle representation with the angle in degrees.
2010-04-12 11:14:36 +00:00
Philip Eisenlohr
9b5047c828
corrected two OMP CRITICAL terminations
2010-04-06 06:47:15 +00:00
Denny Tjahjanto
9026cc4016
again corrections. but this version must work.
2010-03-24 16:23:21 +00:00
Denny Tjahjanto
40b1478dac
the latest RGC model + corrections for "element homogeneous" feature
2010-03-24 13:20:12 +00:00