Commit Graph

1280 Commits

Author SHA1 Message Date
Martin Diehl 5b8257a7f9 added debugging possibility for MSC.Marc, rename parameters to CAPITALS 2013-03-31 13:06:49 +00:00
Martin Diehl 2f76365ac8 fixed wrong string concatenation 2013-03-30 19:43:06 +00:00
Christoph Kords 965ab38217 corrected error bounds for spectral parameter "maxCutback" 2013-03-28 16:04:47 +00:00
Martin Diehl d59e072209 general polishing 2013-03-28 13:50:20 +00:00
Martin Diehl 7f37f55904 added missing line continuation in numerics and explicit private statements in the other files 2013-03-28 10:37:00 +00:00
Martin Diehl d2ae06015a moved "Random is random" to output of random seed, cleaned up a little 2013-03-28 10:02:11 +00:00
Martin Diehl 745ca5a6a5 added "public" (and where possible "protected") statements to functions/subroutines/variables/parameters where needed
added -fmodule-private to compile options for gfortran, i.e. gfortran won't compile anymore if an entity is not explicitly declared as public but used in another module to ensure stronger encapsulation
2013-03-28 07:40:30 +00:00
Christoph Kords b8f8d66f82 total density used in backstress calculation now based on average of neighborhood
fixed small bug in state_init: random distribution of density was probably not working correctly, as some variables were not properly initialized
2013-03-27 13:04:01 +00:00
Martin Diehl 39a70e8a19 fixed bug in coordinate calculation when no average F was given (scaled wrong by ncp_elems**2)
other changes: just polishing + some more comments
2013-03-27 12:28:55 +00:00
Christoph Kords b6aecdac17 corrected debugging output of node twins 2013-03-27 10:25:37 +00:00
Christoph Kords e25af5db04 added function for finding the (non-periodic) nearest neighbor 2013-03-27 10:14:44 +00:00
Christoph Kords 44eb771583 added crystallite output of current ip coordinates 2013-03-27 10:12:28 +00:00
Martin Diehl 15b6242585 set more appropriate default values for spectral solver tolerances (abs stress BC was at huge()) 2013-03-26 16:36:52 +00:00
Martin Diehl 33dc8251c0 saved some memory not copying data within one function 2013-03-25 19:02:12 +00:00
Franz Roters 97fe4400ff corrected comment explaining structure of nBlock 2013-03-25 18:36:21 +00:00
Martin Diehl e6f6c22a30 polished Abaqus Standard, changed inclusion of OMP functionality from "spectral style" (include) to "marc style" (use) to prevent explicit from crashing 2013-03-25 18:25:15 +00:00
Martin Diehl 966ad2826b merged two-stepped subroutine call into one call, added comments and cleaned up.
working for small example (with and without openMP), don't know if the results make any sense
2013-03-25 17:45:58 +00:00
Christoph Kords 19655c2d92 significantRho check was flawed for dipole density 2013-03-25 17:36:04 +00:00
Martin Diehl d55ba3e3e6 now using correct exit routine for Abaqus/Explicit 2013-03-25 13:52:22 +00:00
Franz Roters 02f092492e updated copyright header 2013-03-22 17:35:05 +00:00
Philip Eisenlohr 5b96c1d62a scaling of deformation gradient fluctuations now possible in x,y,z independently (give array). 2013-03-22 15:09:55 +00:00
Pratheek Shanthraj be655ae536 Changed AL solver errors to absolute. Stress boundary error now max of relative and absolute error 2013-03-22 14:46:55 +00:00
Martin Diehl 2a6f66d504 Abaqus explicit now with correct interface, seems to work now 2013-03-21 17:24:58 +00:00
Christoph Kords cee90bbdb3 simplified dislocation kinetics: dropped relativistic correction of velocity, since the infinite attack frequency already sets a limit for the velocity; dropped second; also dropped the correction term for backward jumps, since it was probably not meaningful 2013-03-21 12:52:29 +00:00
Franz Roters 0b10c52b77 restore Jacoby after cutback, was lost during restructering 2013-03-15 06:27:04 +00:00
Martin Diehl dd06d07e1c set default number of iteration for spectral solver to 250 instead of 40, abaqus doxygen now does the correct inclusion (everything appeared twice before) 2013-03-14 23:10:02 +00:00
Martin Diehl 1779510dda remove some unused variables, set default value for divergence calculation to 1.e-5 and made calculation independent of dim and res 2013-03-12 18:48:28 +00:00
Martin Diehl 3e2ecbe0a3 added time stamp to init of lattice 2013-03-07 22:45:00 +00:00
Martin Diehl b9e0326240 added function to calculate the gradient, addGradient.py will follow 2013-03-07 07:58:42 +00:00
Martin Diehl 1ce6028ad3 simplified CurlFFT and DivergenceFFT functions, and did the last changes to Utilities related to the new structure of the spectral solver 2013-03-06 19:34:30 +00:00
Martin Diehl 60633ffd98 some doxygen corrections 2013-03-06 14:41:15 +00:00
Pratheek Shanthraj 1f4d7c2ca4 changed reference stiffness to min max avg from volume avg. using terminally ill information in convergence check 2013-03-06 14:31:13 +00:00
Martin Diehl 7e0ea5dd04 hickups in doxygen documentation fixed 2013-03-05 14:35:26 +00:00
Pratheek Shanthraj 5c1185a5d2 renamed F_lambda to F_tau for clarity. using stress tangent to precondition equations 2013-03-04 09:49:40 +00:00
Martin Diehl ada2beb8b8 reorganized calculation modes for CPFEM, now having better readable and cleaner structure 2013-03-01 11:48:29 +00:00
Martin Diehl 33e75972cc unified indices used for better understanding 2013-03-01 09:36:45 +00:00
Pratheek Shanthraj 72bc1df832 forgot in previous commit 2013-02-28 17:37:26 +00:00
Pratheek Shanthraj 0209a1d5a7 restructured AL solver to resemble polarization scheme and introduced alpha and beta parameters in numerics to determine what kind of solution you want. alpha = beta = 1 results in the AL scheme. alpha = beta = 2 results in the accelerated scheme. safe values are anything in between. changed the solver to use stress calculations on the campatible field which seems to result in faster convergence. 2013-02-28 17:35:02 +00:00
Martin Diehl 59da88460e preparation for introduction of plain mode and restructuring of calc modes for CPFEM_general 2013-02-27 20:41:14 +00:00
Christoph Kords 875abcd06f replaced some array assignments, which might have caused trouble when using the "timeSyncing" option, by parallelized loops of scalar value assignments 2013-02-27 16:36:12 +00:00
Christoph Kords 62e55483f7 fixed bug in lattice: line continuation character was missing 2013-02-27 10:49:23 +00:00
Christoph Kords 3736ab1d97 added shortcuts for two do loops in the "timesyncing" procedure
math_pDecomposition enclosed by omp critical statement; somehow, this subroutine is not thread safe, not clear what exactly the problem is
2013-02-27 10:32:37 +00:00
Martin Diehl bac186c5b7 removed 2003 standard initialization expression not supported by ifort so far 2013-02-27 07:35:53 +00:00
Martin Diehl 0be6706483 some more detailed doxygen comments 2013-02-26 19:01:31 +00:00
Martin Diehl 04c2b22766 removed time information from interface routines, should work now 2013-02-26 12:49:07 +00:00
Martin Diehl 9ec87e8d1f moved include statement of IO.f90 before corresponding use statement, still untested 2013-02-26 06:28:28 +00:00
Martin Diehl 72418f7b60 removed -c from options to compile_spectralSolver and added functionality to remove "-c" or "--compile" from command line arguments befor calling compile_spectralSolver 2013-02-25 18:46:36 +00:00
Pratheek Shanthraj 07ff1f7c93 reporting current time for most module inits 2013-02-25 16:34:59 +00:00
Pratheek Shanthraj 5b16f57727 added int vec pointer for more efficient memory allocation of homog and micro counting (elemsOfHomogMicro) in material.f90 2013-02-25 13:13:52 +00:00
Martin Diehl 8f2e164fd2 some more documentation, mainly on the exit codes 2013-02-23 00:24:30 +00:00
Martin Diehl 393c60565d one line was beyond 132 characters 2013-02-22 05:38:02 +00:00
Martin Diehl 42b96354db doxygen comments 2013-02-21 23:08:36 +00:00
Martin Diehl 1f86e098ba doxygen documentation, enabled uncommented debug statement to be turned on by switches, minor polishing 2013-02-20 22:06:15 +00:00
Martin Diehl a98be4e0cf IO_error and IO_warning crashed for string of zero length (or only containing whitespaces), fixed now.
Also added BEGIN and END statement to numerics in case of non-presen DAMASK_NUM_THREADS, would prevent this error and is better for debugging
2013-02-20 21:56:59 +00:00
Martin Diehl dfe34fd162 specified quit as external as it is not part of a module 2013-02-20 14:37:12 +00:00
Martin Diehl ecbc15abd0 doxygen related changes: corrected arrows in material.f90 and replaced $REVISION$ by substitution key to be changed after test 2013-02-19 22:12:05 +00:00
Philip Eisenlohr d8da2f60d8 added core module function math_periodicNearestNeighborDistances 2013-02-19 14:56:26 +00:00
Philip Eisenlohr 7461e13c1e relocated spectral_quit() into driver code.
added (dummy) core_quit() for Python damask module.
2013-02-19 14:54:34 +00:00
Philip Eisenlohr b57d001e71 added hints on offending positions when parsing material.config 2013-02-15 08:26:38 +00:00
Philip Eisenlohr c1cf446774 parsing of material.config file now expects adequate number of (slip/twin) family entries according to given lattice type.
used to read up to maxN, but that caused unnecessary IO_warnings...
2013-02-14 22:24:55 +00:00
Martin Diehl cd0325baf1 introduced atol_twinfrac for dislotwin
set values in material.config example
atol_rho            1.0,
atol_twinFrac       1.0e-7
2013-02-14 09:57:26 +00:00
Martin Diehl 77c0b32af9 removed possible (but not-working) output of schmid_factor_shearband from dislotwin 2013-02-14 08:53:17 +00:00
Martin Diehl d715ec769b removed debug statements from symlink_Code.py, added autodetection for fortran compiler and disabled compiling on default 2013-02-13 18:45:49 +00:00
Martin Diehl 1496c62258 updated doxygen config file for FEM solvers, replaced some external statements, removed debugging options from abaqus_v6.env causing Abaqus to crash (didn't detect the bug so far), added new homogenization test to automator, added more debug options + comments to Makefile 2013-02-13 17:54:56 +00:00
Martin Diehl b78fafc3b5 corrected integer initialized to reals 2013-02-13 15:47:00 +00:00
Martin Diehl 12b81a2b75 moved second file extension (.pes) into DAMASK_abaqus_*.f 2013-02-13 10:56:50 +00:00
Franz Roters 35346b70b5 fixed RGC homogenization in case dt==0
removed misplaced parameter statement in IO.f90
2013-02-13 09:36:06 +00:00
Martin Diehl 0856a7aa32 fixed bugs and simplified warning reporting when reading in int, float, and string values 2013-02-12 19:00:41 +00:00
Martin Diehl 59a265ec7f forgot intent(in) statements needed for pure routines 2013-02-11 10:56:10 +00:00
Martin Diehl f0b4281400 removed unused variables, added pure statements, and declared external functions as external (using gfortrans debug option) 2013-02-11 10:43:45 +00:00
Martin Diehl c7c81a5ab5 removed unused variables and declared external functions as external 2013-02-11 09:44:17 +00:00
Martin Diehl a89efaa4a6 added missing bracket and substituted one more forall by do loop 2013-02-09 08:23:47 +00:00
Martin Diehl f928d0ca0f some changes on the IKML libs, now using explicit linkin 2013-02-09 08:17:12 +00:00
Martin Diehl e9f351c69b forgot to commit 2013-02-08 15:56:58 +00:00
Martin Diehl 147cc8efca removed debug statement 2013-02-08 15:56:24 +00:00
Martin Diehl e644c6dbc5 improved reading in of values, now only warnings in case of problematic entries in material.config
divergence calculation sqrt scaling optionally introduced for basic scheme spectral solver
2013-02-08 15:55:53 +00:00
Martin Diehl 59e59c90c5 added Option DEBUG to Makefile to turn run time debugging on, compile tests use this option 2013-02-08 15:43:15 +00:00
Philip Eisenlohr 32a416e298 fixed memory leak associated to accumulated shear storage. 2013-02-08 13:33:25 +00:00
Philip Eisenlohr c7740b41a5 added possible accumulated shear output request to example list of phenopowerlaw 2013-02-07 11:09:14 +00:00
Franz Roters eacf6f1196 now also fixed the abaqus part 2013-02-07 10:45:10 +00:00
Franz Roters a036f1eb3a as some IO functions are no longer pure I changed some forall statements to ordinary do loops 2013-02-07 08:52:47 +00:00
Philip Eisenlohr 722d5574fb added output capabilities for accumulated shears on slip and twin systems. 2013-02-06 18:09:11 +00:00
Mahesh Balasubramaniam 362cbf3359 Made corresponding changes in the constitutive files and DAMASK_spectral_driver and interface files with respect to the changes made to IO.f90 2013-02-06 16:45:34 +00:00
Mahesh Balasubramaniam b591dd5f33 made changes to string, int, float interpretations and added warnings. 2013-02-06 16:41:09 +00:00
Franz Roters c4b877d4f1 replaced missued family index by system index 2013-02-06 08:45:08 +00:00
Mahesh Balasubramaniam 037081831b last commit did't compile, hope it's working as it should now 2013-02-05 20:07:25 +00:00
Martin Diehl 4997328de1 added use statements 2013-02-05 15:03:36 +00:00
Philip Eisenlohr 865842b0ed LpandTangent assumed to be called with deviatoric stress input.
Now calculates deviator internally...
(Might have led to non volume preserving deformation.)
2013-02-05 13:47:00 +00:00
Philip Eisenlohr 79e7deca55 introduced dedicated calculation of interface normals in IP neighborhood. (2D elements did not work so far..!)
fixed definitions of some (2D) interface planes to have all normals pointing outward.

removed "int, private :: i" defined for spectral compilation.
2013-02-05 13:27:37 +00:00
Martin Diehl cc9eb685fe fixed wrong setting of coordinates in spectral solvers and removed old python scripts for setup of code and processing 2013-02-05 12:31:44 +00:00
Franz Roters 45344cff6b added check if nGrains==1 when non-local plasticity is used 2013-02-04 14:34:01 +00:00
Franz Roters 01a7850517 in Abaqus there is a second input file ending (.pes), if this file exists it is to be preferred over the *.inp file (thanks Steffen) 2013-02-04 08:29:58 +00:00
Martin Diehl 7f5e9f70b2 added missing flags 2013-02-03 09:22:25 +00:00
Martin Diehl 6cd6172c0c fixed bug in dotState causing strange hardening for certain parameters 2013-02-01 15:44:50 +00:00
Martin Diehl b0263a8aab added possibility to parse options for setup_code.sh and setup_processing.sh + other improvements in setup functionality 2013-02-01 12:21:56 +00:00
Martin Diehl c2495d0d4a changed misplaced private to public statement and renamed qsort to math_qsort 2013-02-01 07:26:21 +00:00
Martin Diehl e74b5da19a changed all remaining routines to fortran-fast arrays (geometry reconstruction etc.)
changed all remaining routines in f2py to more clever determination of array size (requires f2py >= 2.0)
enabled 3D visualize to work with odd resolution by switching to linear reconstruction
PLEASE NOTE: Redefinition of routines for f2py might cause trouble -> DELETE DAMASK_ROOT/lib/damask/core.so in this case
further changes: added pure statement where possible, polished, unified use of "Q" for "Quaternion" and reordered math to have similar routines together
2013-01-31 16:28:08 +00:00
Mahesh Balasubramaniam 04d48c79b9 symlink_Code.py split seperately from the previous setup_code.py 2013-01-29 15:31:01 +00:00
Mahesh Balasubramaniam bbd7e72fe8 setup_Makefile split seperately from the previous setup_code.py 2013-01-29 15:30:28 +00:00
Mahesh Balasubramaniam 6dcea3f419 a simple shell script to run setup_Makefile.py,compile_SpectralSolvers.py and symlink_Code.py in the said order 2013-01-29 15:29:43 +00:00
Mahesh Balasubramaniam c816d5ca74 compiling DAMASK_Spectral split seperately from setup_code.py 2013-01-29 15:28:21 +00:00
Franz Roters 5228af627c corrected calculation of gmod from c_66 (Voigt approximation for a random polycrystal)
approximate twin volume by a disk rather than an elipsoid
2013-01-29 14:59:26 +00:00
Martin Diehl 08a2aa79f7 doxygen comments for homogenization.f90, unified naming ip->i, el->e 2013-01-29 10:28:01 +00:00
Martin Diehl 1594a4bdf8 doxygen comments for isostrain, unified naming ip->i, el->e 2013-01-28 16:36:26 +00:00
Martin Diehl 3ffd6499b1 change bash-only "let" to "`expr`", abaqus_v6.env now suppresses warnings about long lines (there are only comments anyway) 2013-01-28 15:30:51 +00:00
Claudio Zambaldi ae9af9143d in python never put import of standard library modules on the same import
line as own modules (here:damask)
-        und die folgenden Zeilen werden ignoriert --

M    setup_code.py
2013-01-24 14:45:23 +00:00
Martin Diehl db12e6e0c8 removed forgotten debug write statements (thanks Franz!) 2013-01-24 13:20:57 +00:00
Pratheek Shanthraj 7a84209a14 bug fix in microstructure
-This line, and those below, will be ignored--

M    constitutive_dislotwin.f90
2013-01-24 13:12:51 +00:00
Martin Diehl 6ce78cf806 gfortran now detects "call flush" statements, removed the last of them in mesh.f90 2013-01-23 21:50:01 +00:00
Martin Diehl d1985e0bef checked and improved on Franz' one call to CPFEM only improvement 2013-01-23 19:56:45 +00:00
Martin Diehl 96577b18fb introduced error code for run_test.py 2013-01-23 18:33:46 +00:00
Pratheek Shanthraj 50e874f887 fixed bug in elasticity matrix calculation 2013-01-22 15:48:47 +00:00
Martin Diehl 652a8366fe splitted lines > 132, added pure statements where suggested by gfortran 4.7 2013-01-22 13:02:23 +00:00
Martin Diehl df089b94bd line break in lines > 132 2013-01-22 11:06:39 +00:00
Martin Diehl 2b319f02e6 small corrections on changes related to non-schmid systems 2013-01-22 10:04:15 +00:00
Pratheek Shanthraj f3bd920c23 added non-schmid structure 2013-01-21 23:50:28 +00:00
Pratheek Shanthraj 60fec0e8ec added code structure for non-schmid mechanics. work in progress… 2013-01-21 23:11:16 +00:00
Pratheek Shanthraj fd94c786f0 moved stiffness tensor calculation to lattice
introduced 'isotropic' and 'orthorhombic' lattice types to use corresponding symmetries in stiffness tensor. intended to be used with non-crystal plasticity models (j2, constitutive_none with isotropic, cubic or orthotropic elasticity).
2013-01-21 21:57:26 +00:00
Franz Roters c195f316e1 corrected calculation of twin stiffness matrix 2013-01-21 08:17:43 +00:00
Martin Diehl 9ee8108b6b added doxygen documentation to material.f90 and marked read-only quantities as protected where possible, removed substituted "call flush" by "flush" 2013-01-18 11:30:52 +00:00
Martin Diehl c6a79d2b3d divergence_correction for basic solver variants has now 3 possibilities:
0: uncorrected, slope per sidelength (physical dimension) e = res/dim
1: corrected by sidelength, slope per unitlength          e = res/1
2: corrected such that distance between FPs               e = 1

alway regarding the medium length of x,y,z direction
2013-01-16 10:40:53 +00:00
Martin Diehl 20bc97b7eb added doxygen comments and unified naming scheme for ip, element and grain 2013-01-16 10:14:57 +00:00
Christoph Kords 8a45a90775 new crystallite output "grainrotationX", "grainrotationY", "grainrotationZ" that gives the deviation of the initial orientation in degrees around the sample reference x/y/z axis, while "grainrotation" still gives the same as axis angle pair in crystal coordinates 2013-01-16 08:45:41 +00:00
Martin Diehl 645b2605e1 corrected reporting to statistics file (*.sta) 2013-01-11 10:40:16 +00:00
Martin Diehl 4c145376a0 forgot some integers 2013-01-10 18:50:14 +00:00
Martin Diehl 6e3e06bed7 corrected PETSc macro expansion 2013-01-10 15:36:55 +00:00
Martin Diehl 563b1f5e4b added some warning and explicit size of arrays 2013-01-10 13:33:43 +00:00
Martin Diehl 0d5e91ac87 corrected reporting of basic PETSc variant and unified reporting of all spectral solvers
improved warning and error in IO, now able to report correctly elements up to 9 digits
2013-01-09 22:19:32 +00:00
Martin Diehl 55b88e47b7 fixed wrong temperature when using spectral solver 2013-01-09 18:08:08 +00:00
Martin Diehl 00246ade4e missing range in array fixed 2013-01-09 14:43:27 +00:00
Martin Diehl 093cf92338 remove omp statements during initialization, "line" for reading in from material.config now has a default (empty) value to prevent conditional jump depend on this value 2013-01-08 22:11:59 +00:00
Martin Diehl 4eaa97b33c minor changes on buggy latest commit (wrong use statement) 2013-01-08 21:54:25 +00:00
Martin Diehl 19d86ca06a removed unnecsessary omp statements, removed one transpose in constitutitve 2013-01-08 11:09:20 +00:00
Martin Diehl ce7a0571fd fixed bug in forwarding fields for AL solver 2013-01-08 10:12:03 +00:00
Martin Diehl d90efef535 fixed bug in cutback scheme 2013-01-07 21:42:00 +00:00
Martin Diehl 738f363263 corrected small issues with PETSc debugging 2013-01-03 16:17:23 +00:00
Martin Diehl 7a43d1b6ad added funtionality to specify working directory to spectral solver 2013-01-02 17:02:12 +00:00
Christoph Kords 766202bae9 corrected debug output of aged state: first reports for selected debug_el,debug_ip 2012-12-28 12:15:59 +00:00
Christoph Kords f14fd45ce1 new material parameter "egdejog": fraction of annihilated screw dipoles that forms edge jogs 2012-12-23 12:56:15 +00:00
Martin Diehl 64d167fa90 loadcase rotation now working for AL solver 2012-12-17 10:18:39 +00:00
Christoph Kords 7dd1130e92 reset syncSubFrac flag when turning terminallyIll 2012-12-16 16:18:36 +00:00
Christoph Kords 92d2c83334 more debugging info for timesyncing 2012-12-16 11:30:19 +00:00
Christoph Kords 4f12073dcb once again corrected parallelization statements
added some debugging writes for timesyncing
2012-12-16 10:54:13 +00:00
Martin Diehl 1baf8dea5d load case rotation no working for Basic PETSc solver 2012-12-15 23:52:06 +00:00
Martin Diehl 5c0c7121e7 made PETSc silent by removing -snes_view from default options.
introduced PETSc option for debugging that introduces some debugging options into the petsc options and move PETSc initialization from numerics to DAMASK_spectral_utilities
2012-12-15 18:07:49 +00:00
Martin Diehl 566b680319 made new spectral solver the default (no need for SOLVER=NEW anymore) and added additional warnings switche to be used with gfortran >= 4.6
added comments
2012-12-15 16:21:10 +00:00
Martin Diehl b1f28ba5e7 made restart working for all solvers and added corresponding test
corrected error handling for FFT based function in case of odd numbers etc.
2012-12-14 17:30:22 +00:00
Martin Diehl 7b87987751 introduced option for regridding to numerics.f90, working as follows:
first cut back is tried if material point model oder BVP solver does not converge.
If no regridding is enabled after max cut back, in case of non-converged material point the simulation stops and in case of non-converged BVP solver it continues.
set regridMode to 2 to enable regridding if BVP solver OR materialPoint model do not converge,
set regridMode to 1 to enable regridding if materialPoint model do not converge, non-converged BVP solver will be ignored as in the standard case.
For regridding, the load case need to have a restart freq set.

enabled restarting for Basic PETSc variant
2012-12-14 15:18:04 +00:00
Christoph Kords 64d9c70dc7 corrected nonconforming use of openmp parallelization 2012-12-14 14:30:08 +00:00
Martin Diehl d559653722 small improvements on tests 2012-12-13 20:20:04 +00:00
Martin Diehl 2b4eb2a257 changed shell variable containing name of Workstation from $HOST to $HOSTNAME as this is also working on Ubuntu 2012-12-13 13:53:54 +00:00
Christoph Kords f744fc1d47 fixed bug in parallelization: flushing of crystallite_todo was missing at a couple of places 2012-12-11 15:05:08 +00:00
Christoph Kords 6a9b19e4c0 fixed bug in timesyncing procedure: if any ip that synchronizes its time step did not converge, all nonlocals become terminally ill; before, this led to an infinite loop in crystallite 2012-12-11 13:42:22 +00:00
Christoph Kords 03a88d4798 fixed timesyncing for special case of ip that synchronizes its time step, but does not have a neighbor 2012-12-11 13:38:36 +00:00
Christoph Kords 35a0483507 fixed bug in last revision: FE_geomType was not in namespace 2012-12-10 17:22:16 +00:00
Philip Eisenlohr 10ed848258 fixed 2 bugs: missing mapping with FE_geomtype(mesh_element(2,...)) 2012-12-10 17:03:28 +00:00
Christoph Kords 37028455e9 always use the current state for leaving flux calculation when no neighbor is present 2012-12-09 12:24:32 +00:00
Christoph Kords 98d02dcffb removed call to microstructure in stateJump function, since this is already done in the state integrator subroutine 2012-12-07 07:50:41 +00:00
Christoph Kords 149c747688 use non-corrected densities for rate check in dotState 2012-12-06 17:14:35 +00:00
Christoph Kords 1f5a30d6f0 corrected typo in random multiplication term 2012-12-06 14:04:18 +00:00
Christoph Kords 20f7053ad3 correction of interaction coefficients due to line tension effect only applies to coefficients 3, 4 and 5 2012-12-04 18:23:46 +00:00
Christoph Kords 0986a66449 accidentally also included some changes in crystallite_integrateStress in last commit; reverted these changes in this revision 2012-12-03 16:34:41 +00:00
Christoph Kords f2dacb5f40 polished debugging output 2012-12-03 16:29:54 +00:00
Christoph Kords 9eb89b0050 made random multiplication switchable via material.config 2012-12-03 12:59:38 +00:00
Christoph Kords 62ddbf26df slightly changed the multiplication term in the nonlocal model for the starvation case 2012-11-29 18:50:25 +00:00
Christoph Kords f92d34dd22 removed some unused variables 2012-11-29 18:44:00 +00:00
Martin Diehl 57fed66a8e simplified load case parsing 2012-11-29 13:26:17 +00:00
Philip Eisenlohr 7358dd6679 fixed wrong index contraction in acoustic tensor calculation
(blew up calculations with zero Poisson ratio...)
2012-11-28 18:46:07 +00:00
Philip Eisenlohr 6bb3a475ce added output of current relative tolerance when reporting relative errors 2012-11-28 18:44:51 +00:00
Martin Diehl 5ea0139678 simplified the rate calculation interface in DAMASK_spectral_utilities.f90, corrected bug in rotation parsing and added debug option "rotation" to spectral solver options. This will show the current average stress and deformation additionally in lab coordinate system 2012-11-28 15:04:05 +00:00
Henry Hutasoit 07bec16268 corrected compilation exception for gfortran in case of compilername!=F90 2012-11-28 13:54:02 +00:00
Christoph Kords 29618df550 annihilate only part of the screw dipoles (specified by minimumDipoleHeight), not all; moved annihilation of screws from deltaState back to dotState 2012-11-28 12:09:48 +00:00
Christoph Kords e10000a338 Introduced an alternative cutback scheme for the nonlocal model, that allows to keep the results of most of the ips that immediately converged, and only do cutbacks in regions where some ips are in big trouble. Only works for nonlocal model and state integrator 2. 2012-11-27 18:36:55 +00:00
Martin Diehl e45e1316ba removed auto detection of compilername, it only works if the file you're looking for (in our case "ifort") is in the same directory as the Makefile 2012-11-27 17:22:03 +00:00
Philip Eisenlohr 1e32eb560e corrected buggy calculation of Schmid matrix for twins introduced in rev1809.
(stress acting on twin systems was overestimated by factor of sqrt(3) due to that!!)

additional polishing.
2012-11-23 17:02:50 +00:00
Martin Diehl 11ed7fab86 corrected bug in curl calculation causing the output of transposed tensor (according to information stored in testing/9102/proof/Curl of Tensor - Physics Forums.pdf)
addCurl test is now done against analytical solution and working, added it to list of automated tests.
small improvements on test.py
2012-11-23 15:16:51 +00:00
Christoph Kords e584c0e6e8 deleted space in front of preprocessor line 2012-11-22 20:04:33 +00:00
Martin Diehl dbc26e5f25 corrected auto detection of ifort compiler 2012-11-22 13:17:54 +00:00
Christoph Kords 38ec462f4a order of integration now same for all state integrators: first calculate the dotState and then the deltaState 2012-11-22 13:04:19 +00:00
Philip Eisenlohr 7d196fbb25 polishing 2012-11-22 09:58:36 +00:00
Philip Eisenlohr 23a0ca3b59 keep "odd" stress in rnd-range of -1.0 to -0.5 and 0.5 to 1.0
serial calc now skips IPs when /elementhomogeneous/

for /elementhomogeneous/ IPs > 1 individually copy the result from IP 1 to prevent spuriously outdating themselves.
2012-11-21 17:00:29 +00:00
Philip Eisenlohr ec8a84ded7 added output of element and ip to debug messages 2012-11-21 16:58:14 +00:00
Philip Eisenlohr d189a6a7a0 polishing 2012-11-21 16:57:57 +00:00
Christoph Kords 760af1fbbf crystallite_requested now masked by execIP, now elemhomogeneous works again 2012-11-19 15:13:48 +00:00
Franz Roters d4a59541ad removed write statements which were introduced for "debuging" 2012-11-19 15:12:11 +00:00
Christoph Kords 9fb94cd707 breaking crystallite loop in case of terminally ill (this functionality was probably lost since rev1886) 2012-11-19 08:39:48 +00:00
Christoph Kords 4195d53d11 message of last commit was incomplete: moved annihilation of screw dipoles from dotstate to deltaState, since it is not a rate 2012-11-17 13:54:22 +00:00
Christoph Kords 467c186f0f annihilation of screws 2012-11-17 13:50:20 +00:00
Nader Zaafarani dc5cd8a4c4 A modified twin-twin interaction matrix for BCC is introduced.
An introduction of a third parameter at the interactionTwinTwin in the material.config for BCC-dislotwin materials is essential.
2012-11-16 13:39:08 +00:00
Philip Eisenlohr d9a98417ca switched element library to geomType based.
saves to copy same geometry description for different elements that are essentially similar regarding the IP number but differ in total node count.

introduced quadratic tetrahedron (Marc element 127 -- element 157 might also work, but did not perform well in fully elastic calc so far)
2012-11-15 22:45:20 +00:00
Christoph Kords aec163941d calculate ip coordinates only once when the first ip enters calculation mode 2012-11-15 12:31:39 +00:00
Philip Eisenlohr bdbc202c7e corrected typos 2012-11-15 09:22:36 +00:00
Nader Zaafarani c0a5a1dfd1 Formation of the Slip-Slip interaction matrix for BCC. 2012-11-14 17:35:33 +00:00
Martin Diehl 7e683ca7c3 removed coordinates from call to CPFEM_general and introduced direct storage of coordinates to mesh_ipCoordinates 2012-11-14 14:38:10 +00:00
Martin Diehl 1896c07c70 corrected some bugs in the last commits 2012-11-14 14:33:41 +00:00
Nader Zaafarani c8be3a03bd The twin system <111>{112} for BCC is introduced. 2012-11-14 13:43:59 +00:00
Nader Zaafarani 6b010b4a46 Twin-slip interaction matrix for BCC is set to 0. 2012-11-14 11:53:22 +00:00
Nader Zaafarani b0464ad176 A modified slip-twin interaction matrices for FCC and BCC are introduced.
The shear twin value for BCC is corrected.
An introduction of a third parameter at the interactionSlipTwin in the material.config for dislotwin materials is essential.
2012-11-14 11:13:16 +00:00
Philip Eisenlohr fb2981b4c4 switched matrix indices in SlipSlip, SlipTwin, TwinSlip, and TwinTwin such that first index refers to first name and second to second... 2012-11-14 10:27:23 +00:00
Philip Eisenlohr e4ce63d689 switched matrix indices in SlipSlip, SlipTwin, TwinSlip, and TwinTwin such that first index refers to first name and second to second... (used to be transposed for memory efficiency) 2012-11-14 10:22:34 +00:00
Philip Eisenlohr 789e6c7d83 dropped support of MSC.Marc/Mentat 2007 and 2008 2012-11-14 09:57:18 +00:00
Philip Eisenlohr ad9639f2f7 check for existence of files before sym-linking to them. 2012-11-14 09:40:45 +00:00
Martin Diehl c3926efd93 introduced logic to use gfortran as default if ifort is not found 2012-11-13 19:12:00 +00:00
Martin Diehl 922042d8d5 now automatically using gfortran if no ifort is found 2012-11-13 18:40:14 +00:00
Martin Diehl 0c87fc16f4 renamed the keyword for the make options from make to options 2012-11-13 17:26:25 +00:00
Martin Diehl 70c4e11742 added comments and structured the code. Temperature is not longer stored for each point but only to simplify restart behavior as long as it is not fully supported by the constitutive models 2012-11-12 14:14:39 +00:00
Christoph Kords 3c53f3ec9a last version contains buggy mesh.f90; corrected typo in initialization 2012-11-09 07:52:44 +00:00
Christoph Kords 366ac28694 parallelized mesh_build_subNodeCoords and mesh_build_ipCoordinates 2012-11-09 07:47:14 +00:00
Martin Diehl b1c3c57412 some more finetuning, still not running on gfortran 4.5.0 2012-11-08 21:33:58 +00:00
Martin Diehl c831716b26 reseting value vector when reading in for loadcase file, otherwise NaNs might be in there 2012-11-08 20:35:31 +00:00
Christoph Kords 11264f3fe4 forgot to check for convergence flag in FPI integrator 2012-11-08 20:15:19 +00:00
Christoph Kords 60438cdbcc criterion for crystallite cutback loop changed from crystallite_subStep to crystallite_todo; this avoids problems when the last substep of the crystallite increment is below subStepMinCryst (which is allowed during last wind forward)
fixed bug in the adaptive Euler integrator and the RK4 integrator, which could not reach the stateJump function, because of erroneous check for converged flag; also corrected the state counter for the RK4 integrator
2012-11-08 20:00:29 +00:00
Martin Diehl ee5903c767 replaced real 'guessmode' with logical 'guess', caused trouble on gfortran 6.3 with ultra optimization 2012-11-08 19:32:00 +00:00
Martin Diehl 6a86f36407 now having libraries from Makefile before PETSc Libraries in linker order 2012-11-08 18:26:10 +00:00
Christoph Kords c775edaa6d better avoid initialization of residuum_old with huge, since it posed problems in Abaqus 2012-11-08 13:26:22 +00:00
Christoph Kords dad9922f54 fixed bug in crystallite_FPI: stateDamper always has to be defined for each grain
added some OMP FLUSH statements were necessary 
replaced openmp do by forall construct where possible; this is much safer and perhaps even as fast for small loops
2012-11-07 15:43:29 +00:00
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