Martin Diehl
3837dad51e
fixed bug in mpie_spectral.f90 concerning spectral method (now deltaF hat get the right value)
...
added mpie_spectral2.f90, a version that should get the new algorithm proposed in 2010. until now, it is the same as mpie_spectral.f90 (large strain formulation by suquet et al) but with c2c, c2c FFT
2010-10-20 08:59:00 +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
Philip Eisenlohr
61f8a5fcbe
corrected UpperCase "SolidSolutionStrength" in config file parsing.
2010-10-15 12:59:00 +00:00
Martin Diehl
3c502561ee
added matrix multiplication 3333x33 to math.f90
...
added some parameters for spectral method to numerics.f90 (tolerance)
changed error message concerning spectral method in IO.f90
corrected calculation of stress BC in mpie_spectral.f90
2010-10-13 16:04:44 +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
efd92d9b51
allocation of special state variables for "non-standard integration" was erroneous. used to produce segmentation fault for integration method 4 and 5.
2010-10-12 12:11:24 +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
Martin Diehl
9927cd7adb
changed format of resolution. instead of reading exponent of two, now the number given equals directly to the number of FPs. Allows us to use arbitrary number of FPs.
...
example:
OLD: reading 5 results in 2^5=32 FPs
NEW: reading 33 results in 33 FPs
2010-10-01 10:42:15 +00:00
Alankar Alankar
2cc7bc38d7
Fixed a missing ','. Assigned plane and direction names.
2010-10-01 06:32:44 +00:00
Philip Eisenlohr
1ae252c1ce
altered hexagonal slip systems
...
(needs comparison to former set, which is potentially wrong)
2010-09-30 17:31:19 +00:00
Claudio Zambaldi
b85f9b0770
material.config: changed texture of microstructure 1 from 1 to 3, because 1 needs a ODF file which is not in the repository and makes the one_element_model.proc complain.
2010-09-30 12:55:38 +00:00
Philip Eisenlohr
a8dfdc6487
added _mul33xx33 double contraction: A_ij * B_ij = scalar
2010-09-30 09:32:49 +00:00
Christoph Kords
cb4b4afc88
corrected header for math_qRot
2010-09-30 08:46:58 +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
Alankar Alankar
e562df35a9
Added more state dependent variables in post results.
2010-09-29 06:35:08 +00:00
Martin Diehl
5a51082977
polishing, changed calculation of stress BC.
...
prevent updating of gamma hat in case of perfect plasticity
2010-09-24 13:27:53 +00:00
Alankar Alankar
d94236b2d6
Declaration of filename etc. was missing. Fixed now.
2010-09-23 09:13:46 +00:00
Philip Eisenlohr
83a921eec2
crystallite: polishing
...
rest: added "$ID" and line ending settings...
2010-09-23 08:05:50 +00:00
Philip Eisenlohr
a467fb4ae3
forgot "$ID" and setting line endings...
2010-09-23 08:03:00 +00:00
Philip Eisenlohr
89136afade
debug now has config file, too
2010-09-23 08:01:41 +00:00
Martin Diehl
6ea8623f65
added functions math_mul33x3_complex math_Plain99to3333 to math.f90.
...
mpie_spectral.f90 uses both functions
math_Plain99to3333 is used for inversion of c0
math_mul33x3_complex is used for equilibrium check in fourier space
also did some cleaning up on mpie_spectral.f90
2010-09-22 12:04:43 +00:00
Alankar Alankar
80618c9814
Cleaned-up, rearranged state variables
2010-09-22 09:00:40 +00:00
Alankar Alankar
7548858ffa
Some useful changes in damper for quicker convergence.
2010-09-22 08:54:36 +00:00
Martin Diehl
604992a9e1
fixes bugs in screen output, changed gmsh output, now the deformed mesh is written out
2010-09-22 08:51:34 +00:00
Martin Diehl
6920d8d939
cleaning up, added new output to gmsh and to screen, prepared calculation of deformed mesh
...
new convergence criteria: divergence of stressfield (in fourier space)
2010-09-21 15:38:25 +00:00
Alankar Alankar
8488cafe3a
now consistent with numerics.f90 values
2010-09-21 14:37:52 +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
Martin Diehl
1693bfca47
changed calculation of defgrad from cauchy-stress to pk-stress, now working in large-strain-formulation.
...
output of msh-file changed to deformed configuration, removed output of defgrad as a field
2010-09-07 16:37:55 +00:00
Alankar Alankar
3c5f38643d
Brushed up accountability of twinning to Lp
2010-09-07 14:44:37 +00:00
Christoph Kords
7d4c7f7fa7
corrected bug in debug: stressloop info was erroneous
...
mesh init now showing much more ip statistics in verbose mode
2010-09-07 09:06:02 +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
Martin Diehl
00922705eb
now using current average stiffness for reference material stiffness
2010-09-06 10:00:59 +00:00
Philip Eisenlohr
c19524f264
1) fixed terminallyIll bug occurring with Ngrains=1 homogenization
...
2) brushed up the output to be more easily readable/understandable
2010-09-01 21:04:02 +00:00
Alankar Alankar
4f29e8c2fe
Introduced twinning. Twinning based on accumulated shear on twin systems. No slip-twin interactions yet.
2010-09-01 10:07:52 +00:00
Martin Diehl
a5c228fd02
changed back transform to complex-to-real, removed redundant variables, reduced size of arrays where possible
2010-09-01 08:05:11 +00:00
Martin Diehl
85febf0803
added fftw3 as fft(library will not versioned, should be in a linkable folder) , did some corrections on the code, splitted main file up (allows use of makefile), added makefile
...
changes on mpie_spectral.f90:
new structure, changed variable names, now using defgrad instead of disgrad, cleaned up, removed augmented Lagrange.
ToDo: Implement Augmented Lagrange again (but then a working version), implement Large strain, think about complex-to real-transform backwards, try to implement MP-support
2010-08-27 16:39:38 +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
Alankar Alankar
ec4269bdd8
Added 'dislocation-type' dependent interactions. Ideal for hexagonal and BCC structures.
2010-08-23 11:36:51 +00:00
Philip Eisenlohr
da53656c9a
added C3D20R (type 9) to list of possible non-local elements (Christoph, should we invent a reasonable error number for this? "-1" may not be optimal...)
2010-08-19 23:00:26 +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
Franz Roters
f78b07448f
some modifications in line with Davids analytical model
...
input some additional variables via material.config
2010-08-17 14:23:55 +00:00
Philip Eisenlohr
bb9899e7de
1) added element type 57 (C3D20R) reduced quadratic hexahedral
...
2) need discussion about the present omission of the FE_nodesAtIP for type 8 --> added comment into source code
2010-08-16 22:53:24 +00:00
Alankar Alankar
9f071c3e01
Added kink-pair pre-factor for screw dislocation mobilities on non-basal slip systems in hex
2010-08-06 15:53:45 +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
Alankar Alankar
60decea760
Calibration (Prismatic slip) of the new dislocation density based CPFE model for single crystal alpha-Ti (Titanmod). Formulated edge and screw dislocations mobilities in presence of kink pairs. Updated comments. The model shows the plateau in stress evolution in prismatic orientation which is observed in experiments.
2010-07-15 07:16:15 +00:00
Martin Diehl
49926d5d66
F77 --> F90 polishing/condensation as far as possible.
...
next step is change of Re/Im FFT to Re only...
2010-07-13 15:29:26 +00:00
Philip Eisenlohr
4d110126da
adopted improvements done by Arun Prakash.
...
mesh:
elemType identification based on lower case
Abaqus now reports more errors
IO:
new function to inquire whether inputfile contains "parts"
new function to assemble multiply included inputfile into a flat one
awareness of range generation in element numbers
error reporting
2010-07-13 10:26:07 +00:00
Alankar Alankar
eb7830dc8f
New Titanium CPFE model based on dislocation density. Running but calibration and changes needed.
2010-07-13 08:19:25 +00:00
Martin Diehl
397db06fb3
cpfe_general now returns also Kirchhoff-stress P and dPdF
...
added dummy variables P and dPdF to mpie_cpfe_* to be able to call cpfem_general correctly
2010-07-07 09:58:18 +00:00
Martin Diehl
80016f8429
added P and dPdF for the call to cpfem_general, made some comments in the code, aligned some loops
2010-07-07 09:10:54 +00:00
Martin Diehl
f9834bc612
changed types of integers and reals in fourier transform, changed some variables and cleaned up code to make it easier to understand
2010-07-05 16:01:36 +00:00
Ricardo Lebensohn
c3e222dbbd
errs added etc.
2010-07-05 11:33:48 +00:00
Philip Eisenlohr
4f76eada31
started suggestions for F77 --> F90 style
...
xkdyad useful..?
looking for error calculation (Ricardo to rescue here)
2010-07-02 17:15:53 +00:00
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