Commit Graph

282 Commits

Author SHA1 Message Date
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
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