Martin Diehl
d6ba9d54b6
changed declaration of two variables from real to int, spectral method is now working.
...
started to commend Ricardos code, layoutet loops and removed some redundant variables.
until now, no error calculation is done. at the moment calculations are in an infinite loop
2010-07-02 14:10:36 +00:00
Martin Diehl
661bb97800
corrected some problems in building mesh
2010-07-01 15:20:39 +00:00
Martin Diehl
2ec39c936c
added first version of spectral method, changed corrected functions to get correct path to files
2010-07-01 15:20:06 +00:00
Martin Diehl
c3e51e5330
added functions to read out resolution, dimension and homogenization from mesh file
2010-06-25 11:31:05 +00:00
Christoph Kords
eb0cc24a8e
no need for material parameter "a" anymore, dislocation stress calculation now works without "core spreading"
2010-06-21 16:01:05 +00:00
Christoph Kords
7d6e52067b
dislocation stress based on dislocation density gradients
2010-06-21 15:58:56 +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
Philip Eisenlohr
1c72439350
first shot at init with CPFEM_general
...
better would be to manually read the mesh resolution, set up Spectral solution strategy and call CPFEM_general just during BVP solution.
2010-06-10 15:32:06 +00:00
Philip Eisenlohr
8ea52ac495
mpie_spectral now can read loadcase data
...
adapted error codes
2010-06-10 14:51:10 +00:00
Martin Diehl
386ca7ebc3
added some basic I/O functions to mpie_spectral.f90
2010-06-10 08:50:04 +00:00
Christoph Kords
740db98090
- use upwind differences scheme for fluxes instead of central differences
...
- introduced possibility to "reflect" fluxes at free surfaces in order to have quasi-periodic fluxes
2010-06-09 08:56:00 +00:00
Philip Eisenlohr
11b98fbfa6
added ID functionality and correct line endings
2010-06-08 10:10:57 +00:00
Philip Eisenlohr
82687d31c8
first shot at mpie_spectral wrapper
2010-06-08 10:08:15 +00:00
Philip Eisenlohr
7e78932976
renamed "mpie_cpfem_init" subroutine within mpie_interface module to more general name "mpie_interface_init"
2010-06-08 09:35:13 +00:00
Christoph Kords
71c6179ee5
dislocation stress had wrong sign in some components
2010-06-08 09:34:23 +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
Christoph Kords
3989cc2688
dislocation stress now considers dislocation segments of length V^(1/3) and ensures non-singular solution for points that are collinear to the dislocation line by means of a core spreading parameter "a". stress is scaled by a reference cutoff radius "r" to avoid mesh-dependent stress values.
...
corrected formula for conversion of anisotropic elastic constants to isotropic Youngs modulus and poissons ratio
2010-06-07 14:32:23 +00:00
Franz Roters
5283ba5546
if it is pReal it should be 1.0 not just 1
2010-05-31 07:12:45 +00:00
Christoph Kords
76b392e12f
dislocation stress calculation in constitutive_nonlocal_microstructure: corrected mapping from lattice to slip system frame and the neighboring dislocation density formulation
2010-05-28 13:12:36 +00:00
Franz Roters
bb73a74325
there was a line break missing so that it did not compile
2010-05-26 17:10:26 +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
e5f0af638e
fixed calculation of dislocation stress for elements with a single ip and no neighbors; used to get segmentation fault
2010-05-26 09:17:10 +00:00
Christoph Kords
0c5bc83469
in nonlocal_microstructure: at the model surface the excess density is now extrapolated from opposite neighbor instead of assuming zero density; this results in better modeling of the dislocation stress at the surface
...
restructured nonlocal_dotstate, to be able to easily switch on and off particular effects in the microstructure evolution
nonlocal_dotstate now enforces a cutback when single density runs the risk of becoming negative; in the case of a state already below the relevantState dotState is set to zero
introduced two new output variables: rho_dot_edge and rho_dot_screw
2010-05-21 08:51:15 +00:00
Christoph Kords
dba4ae7ef1
new numerics parameter "defgradTolerance" replaces "relevantStrain" in cpfem, since "relevantStrain" is also used in crystallite but in a different context.
...
"defgradTolerance" gets the same standard value as "relevantStrain" so calculations should be consistent with older ones
2010-05-20 14:55:11 +00:00
Christoph Kords
3a23dc4bbd
first call to hypela2 in inc 0 is done with computation mode 2 (=plain calc), but since rev. 539 the second call was done with computation mode 6 (=only return values) instead of 2. This doesnt work, because computation mode 2 might calculate stress and tangent for all materialpoints, but the mapping from lattice to current configuration is only done for the element/IP that triggers the call.
...
So switched back to the former order of calls which also works for marc2010:
el 1 IP 1 | el 1 IP 2
|
inc mode lovl | inc mode lovl
------------------ | ------------------
0 2 6 | 0 2 6
1 6 4 | 1 6 4
1 4 6 | 1 3 6
1 6 4 | 1 6 4
1 1 6 | 1 2 6
Still to be checked:
according to Franz the lovl order could be different in contact analysis (e.g. starting with lovl 4 instead of 6)
2010-05-20 09:14:59 +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
472684c30e
make element type 8 (= hex8 reduced integration) available for nonlocal constitutive law
2010-05-18 08:13:23 +00:00
Christoph Kords
19b6fae88b
added a missing exclamation mark in front of an $OMP directive
2010-05-18 08:07:55 +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
Franz Roters
483584ceb3
improved version of general I/O functions
...
renamed module cpfem_interface to mpie_interface
2010-05-11 06:57:15 +00:00
Franz Roters
e810e5cfa1
changed fileopen routines in IO.f90 to use solver dependant functions defined in the interface routines
...
DID NOT test ABAQUS versions yet, not shure whether (V)GETOUTDIR returns path with or without terminating slash
2010-05-10 15:02:59 +00:00
Philip Eisenlohr
0416c9a616
reworked build_ipNeighborhood
...
added C3D8R reduced integration hexahedral element
2010-05-10 14:54:59 +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
Philip Eisenlohr
97f206d0bc
new errors regarding Spectral method input file parsing
...
mesh setup from Spectral input file
$Id$ in FEsolving activated
2010-05-06 16:40:47 +00:00
Philip Eisenlohr
e4067f2d26
debugged zoo of rotation operations and transformations
...
all angles now in radians
introduced a rudimentary check in math_init to complain (IO_error) about broken transformations (e.g. quat --> R --> quat)
2010-05-06 14:07:21 +00:00
Franz Roters
f23b4d16d1
updated section with dislotwin paramters
2010-05-06 09:01:54 +00:00
Franz Roters
383a36b226
added comment on reformating to common block files
...
added modifications necessary for running the subroutine with Marc/Mentat2010
2010-05-06 08:50:54 +00:00
Alankar Alankar
393a67e587
now stating instance when sanity checks run into trouble
2010-05-05 13:36:59 +00:00
Christoph Kords
0a36527f61
fixed bugs in math_quaternionDisorientation
...
though running, there still seem to be some problems with the quaternion functions, since crystallite_grainRotation gives some dubious results!
2010-05-04 16:02:05 +00:00
Philip Eisenlohr
ba48e5d3ab
fixed syntax errors in last commit -- hopefully no further ones...
2010-05-04 13:03:35 +00:00
Philip Eisenlohr
cecffffe2b
disorientation with symmetryType == 0 returns plain misorientation
...
complain about unknown symmetryType
2010-05-04 12:54:13 +00:00
Claudio Zambaldi
adaeb0e1ef
rotation axis is undefined for small angles and therefore gets a NaN
2010-05-03 18:27:19 +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
8ab101da50
safe use of acos function in math_QuaternionToAxisAngle
2010-04-29 10:33:39 +00:00
Philip Eisenlohr
15e5dcf8f2
math_QuaternionToAxisAngle now safe for small or close to 2pi rotations.
2010-04-29 10:01:09 +00:00
Franz Roters
e8719cb6b8
Table driven input works wirh 2010!
...
That leaves DDM to do for tomorrow ;-)
2010-04-29 09:43:31 +00:00
Franz Roters
aaf1bf0edf
fixed (first) problem with Marc2010 single job with old style input and extended precision should work now!
2010-04-29 08:15:29 +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
Christoph Kords
77dc16d15f
print aged state of 1 1 1, which always exists, to avoid segmentation fault
2010-04-29 07:34:20 +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
35cebfb132
extended output string length for init msg
2010-04-28 17:19:06 +00:00
Franz Roters
a36951a6ac
changed common block files to release version
2010-04-28 07:28:12 +00:00
Claudio Zambaldi
e8ab495a6c
Introduced new parameter NaN, not a number. It should be assigned for invalid results, such as currently for misorientation of unknown crystal symmetry.
2010-04-19 13:40:22 +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
Claudio Zambaldi
653837046e
new: math_QuaternionToAxisAngle
2010-04-12 11:07:25 +00:00
Christoph Kords
adf6206b71
corrected symmetry operations for hex.
2010-04-12 08:04:26 +00:00
Claudio Zambaldi
fc3f35cf3b
debugger = .false.
2010-04-08 09:30:25 +00:00
Christoph Kords
1730a90e12
corrected ip numbers in FE_ipNeighbor for element type 21; used to get wrong neighborhood for this element type
2010-04-06 11:45:23 +00:00
Philip Eisenlohr
9b5047c828
corrected two OMP CRITICAL terminations
2010-04-06 06:47:15 +00:00
Christoph Kords
1bf740eb9d
an allocation statement was deleted from rev 518 to rev 520!!!
2010-03-30 13:15:18 +00:00
Christoph Kords
67c523e4b1
enclosed output statements in an "if (verboseDebugger)"
2010-03-25 08:27:42 +00:00
Denny Tjahjanto
9026cc4016
again corrections. but this version must work.
2010-03-24 16:23:21 +00:00
Denny Tjahjanto
414050303b
forgotten: the change in the input config
2010-03-24 13:28:46 +00:00
Denny Tjahjanto
40b1478dac
the latest RGC model + corrections for "element homogeneous" feature
2010-03-24 13:20:12 +00:00
Franz Roters
3aa2dd5fef
removed special characters from twip steel section in material.config
...
changed crirtical twin stress in constitutive_dislotwin.f90
2010-03-24 08:17:27 +00:00
Christoph Kords
2c6c8fa04e
ensure positive eulerangles in math_QuaternionToEuler
2010-03-19 16:11:53 +00:00
Christoph Kords
f4e5d32cde
added flag verboseDebugger to debug in order to have more control about debugging statements
...
set this to true if you want extended debugging info in the output file
2010-03-19 14:14:08 +00:00
Claudio Zambaldi
418bb9ecbe
small improvement in readability
2010-03-19 12:56:00 +00:00
Christoph Kords
948c119ee9
changed internal representation of orientation and misorientation from euler angles to quaternions (this should also fix some bugs in the math_misorientation subroutine). includes a couple of new functions in math.f90 and some changes in crystallite.f90.
...
beware that crystallite output "orientation" now by default returns the orientation as quaternion. if you want euler angles instead, you have to add "eulerangles" as a crystallite output in your material.config file (see material.config template).
for input of orientations in the texture block of the material.config you still have to specify the rotation in terms of euler angles, quaternions are not yet supported for input.
2010-03-18 12:23:17 +00:00
Christoph Kords
e6fdfdfc36
iJacoStiffness belongs to numerics, not debug
...
sorry for not having checked that before
2010-03-17 17:00:54 +00:00
Christoph Kords
1a992e1aef
nonlocal stiffness calculation produced segmentation fault for cycle number > 16. Corrected calculation of perturbation indices k and l.
2010-03-10 09:53:41 +00:00
Christoph Kords
e3dd7551dc
added output for dislocation evolution rate associated with flux: "rho_dot_flux"
2010-03-10 09:49:40 +00:00
Philip Eisenlohr
4752bbe42e
deleted unused <global> part from file
2010-03-09 15:36:07 +00:00
Christoph Kords
61bd0224c1
- corrected an if statement in the state loop
...
- nonlocal stiffness calculation: we perturb all material points at the same time, so instead of N^2 loops we just need N
- set "forceLocalStiffnessCalculation" to false as standard
2010-03-04 17:27:39 +00:00
Christoph Kords
a0d28ebc18
- flux calculation is now also compatible to neighborhood of local constitution
...
- flux density interpolation now depends on the position of the interface between ttwo neighboring material points
- simplified flux calculation scheme
- introduced sanity check for dislocation velocity to ensure v*dt< cellsize
2010-03-04 17:14:47 +00:00
Christoph Kords
947af80a2e
removed old debugging statements
2010-02-26 12:02:49 +00:00
Philip Eisenlohr
8c8ed34356
reworked crystallite part to allow for flexible user output
...
--> new "crystallite" part in config file
--> new "crystallite" option for microstructures
--> new output file "...job.outputCrystallite" to be used in conjunction with marc_addUserOutput for meaningful naming of User Defined Vars.
2010-02-25 17:39:11 +00:00
Christoph Kords
538faecf45
new output "dislocationvelocity"
2010-02-23 17:23:07 +00:00
Christoph Kords
c1717329ac
only need 2 logicals in crystallite_stressAndItsTangent to reflect all possible integration states, so crystallite_onTrack was obsolete and replaced by crystallite_todo; broken state update now directly produces a cutback
2010-02-23 09:46:39 +00:00
Claudio Zambaldi
7526a24a1b
now with functionality to output a "JOB.outputHomogenization". This contains size descriptions of all requested output variables to be parsed by a further script to generate meaningful names for user defined vars... (watch out!)
2010-02-19 18:03:16 +00:00
Christoph Kords
aab5598d96
detabbed file for better readability
2010-02-19 13:44:38 +00:00
Philip Eisenlohr
8c5852dedf
corrected messed up output of grain orientation in t16-file.
...
this bug affected at least all calculations done after revision 480 (Dec 18, 2009)
2010-02-18 16:09:45 +00:00
Denny Tjahjanto
e9aac0c4af
(1) change phaseOfGrain from real to integer and (2) introducing a condition to switch off the grain reshuffling when element homogeneous is requested.
2010-02-18 15:54:10 +00:00
Claudio Zambaldi
d60d8a4103
small readability improvement
2010-02-18 15:06:08 +00:00
Franz Roters
7e632e8132
corrcected definition of forceLocalStiffnessCalculation
2010-02-18 14:43:40 +00:00
Philip Eisenlohr
e1a25e0f73
renaming of abaqus to _std and adding of VUMAT interface for explicit.
2010-02-18 10:23:42 +00:00
Philip Eisenlohr
af06e8e58f
fixed some dangerous constructs in computation mode assignments
...
introduction of separate stress and stiffness variables to pass on to CPFEM_general (of dimension 6)
2010-02-18 10:23:02 +00:00
Philip Eisenlohr
78808a7d47
corrected corrupted header $id
2010-02-18 10:18:15 +00:00
Philip Eisenlohr
4cb7254a21
added new computation modes 8 and 9 for Abaqus_exp. These correspond to mode 1 and 2 but do collection and calculation in one step.
...
stress and stiffness are always of dimension 6 in CPFEM_general, hence, variable "ngens" useless by now
2010-02-18 10:15:08 +00:00
Philip Eisenlohr
c3cd75c2c2
small polishing
2010-02-18 10:12:45 +00:00
Franz Roters
9c63005c8f
allow for longer pathes when openening files
...
corrected error messages concerning file openening
2010-02-18 08:29:57 +00:00
Christoph Kords
97db70cf23
constitutive_nonlocal:
...
- reworked contribution of immobile dislocation density for rate equations
- flux is now calculated on the basis of interpolated velocities and densities at the interface; both incoming and outgoing fluxes are considered, so every material point only changes his own dotState
- dislocation velocity is now globally defined and calculated by subroutine constitutive_nonlocal_kinetics; the subroutine is called inside _LpAndItsTangent as well as _microstructure; therefore, microstructure now needs Tstar_v as additional input; in the future one should perhaps create a subroutine constitutive_kinetics that calls constitutive_nonlocal_kinetics separately, to clearly distinguish between microstructural and kinetic variables
- better use flux density vector as output variable instead of scalar flux values for each interface
- added output variables internal and external resolved stress
crystallite:
- added flag to force local stiffness calculation in case of nonlocal model
- misorientation angle is explicitly set to zero when no neighbor can be found
debug:
- added flag "selectiveDebugger" that is used when debugging statements should only affect a specific element, ip and grain; these are specified with the new variables debug_e, debug_i and debug_g
- debugger can now be used in its original sense
2010-02-17 13:21:36 +00:00
Christoph Kords
a2037db9c6
corrected sign of screw part of dislocation stress
2010-02-12 12:54:00 +00:00
Claudio Zambaldi
f1daf9f2e7
added comment, my first 'test' SVN commit
2010-02-10 16:40:50 +00:00
Philip Eisenlohr
f186c83068
introduced racing condition breaker for the case of multithreaded CPFEM init.
2010-02-02 15:00:08 +00:00
Franz Roters
101d4c6bb4
updated list
2010-02-02 13:05:17 +00:00