Commit Graph

2318 Commits

Author SHA1 Message Date
Martin Diehl 9afc1e3a15 fixed wrong omp statement 2014-03-12 15:29:14 +00:00
Martin Diehl 3aea8b39e9 added some HDF5 functionality (needs to be activated with preprocessor makro) 2014-03-12 07:33:51 +00:00
Martin Diehl ff1b1c1a50 fixed bug introduced with lattice_structure change nonlocal, but with DEBUG=ON OPTIMIZATION=OFF there is an FPE. Division by zero? Marked in the code
forgot to commit dislotwin last time, now seems to work
2014-03-11 23:55:40 +00:00
Martin Diehl ef8fbf4dda introduced case in dislotwin for bcc (peierls stress as critical stress)
renamed some parameters, now exponents (p,q) for slip are per family, shear band got own ones. exponent for twin (r) now per family

fixed bugs in lattice ("empty" interactions should be 1 not zero)

see both Phase examples to check what is needed
2014-03-11 17:40:59 +00:00
Franz Roters 6781d7d8a5 last line got lost
as it is fcc it should actually be only one slip system family
2014-03-11 10:49:48 +00:00
Martin Diehl c2e81414e3 updated TWIP steel data set to have only 2 slip system families, added data set for tungsten 2014-03-11 10:34:36 +00:00
Martin Diehl 721183e702 removed some forgotten debug statements 2014-03-08 22:51:32 +00:00
Martin Diehl 2b589c3d71 moved reading in of lattice type and elastic constants to lattice module
removed structure type for hex, fcc, bcc, now defining slip/twin systems for each phase found in material.config
constitutive modules will only be initialized if needed
homogenizedC function is only needed for models incorporating twinning in a physical way (titanmod and dislotwin)
2014-03-08 20:50:31 +00:00
Martin Diehl 32493675d6 fixed bug in constitutive introduced in rev 2988 causing wrong names in *.outputConstitutive 2014-03-05 08:06:21 +00:00
Christoph Kords 0265978941 renamed "maxNmatIDs" accordingly to "maxNinstances" 2014-03-04 13:47:04 +00:00
Martin Diehl a0d75ee05e moved quaternion disorientation to lattice because it requires the knowledge of the lattice structure. 2014-02-28 13:28:27 +00:00
Martin Diehl 92bf1565fc formatting 2014-02-28 13:05:11 +00:00
Martin Diehl b0f191c88c also rename matID/i to instance like in the other constitutive models 2014-02-28 13:03:21 +00:00
Martin Diehl b9722b866c improved error handling when getting number of threads 2014-02-28 10:30:07 +00:00
Martin Diehl 650b71ffa9 renamed instance consistently to "instance" as a preparation for new structure / elastic matrix handling 2014-02-28 10:18:40 +00:00
Martin Diehl fe13bb16fe added some consistency check and remove unnamed constants 2014-02-27 18:57:46 +00:00
Martin Diehl ad203d32c1 circular dependencie (copy and paste error) removed 2014-02-26 12:04:52 +00:00
Martin Diehl 35be468b24 fixed detection of working directory for ifort 2014-02-25 21:10:55 +00:00
Martin Diehl a554bc5267 now ignoring c/a ratio keyword 2014-02-19 07:40:21 +00:00
Martin Diehl 69992638a8 added missing covera_ration in hex test. was not necessary before for constitutive_none, now it is 2014-02-17 09:45:54 +00:00
Martin Diehl 8bbba55506 function version seems to be quasei-standard, not subroutine for getcwd 2014-02-14 19:59:37 +00:00
Martin Diehl 4efb1e5617 fixed bug: wrong initialization of lattice structure, had effect on j2 and phenopowerlaw 2014-02-14 18:05:59 +00:00
Franz Roters d3d4931061 corrected checking for ~/.damask/damask.conf 2014-02-14 15:58:01 +00:00
Franz Roters 4399fb9535 improved comment on Euler angles, now includes unit 2014-02-10 15:48:00 +00:00
Martin Diehl d8311d46b3 .. last commit message was missing because I wanted to abort, so:
move reading in of lattice structure to lattice (elastic constants, c/a ratio, lattice structure). Still needs a little bit of documentation, the lattice structure names are not easy to understand.
tested it for j2 and phenopowerlaw and seems ok, but before continuation with the other constitutives models might simplifiy a little bit.
2014-02-10 14:38:05 +00:00
Martin Diehl d45aea4467 moved reading in of lattice stru 2014-02-10 14:31:19 +00:00
Martin Diehl 20bea80f0c changed order to have PETSc variables before others, fixed problem when MPI and FFTW were installed in standard location but PETSc build own MPI 2014-02-09 18:30:31 +00:00
Martin Diehl 33ab0ff0fe introduce enums, remove gdot_twin and tau_twin from possible outputs because they weren't output anyway 2014-02-09 17:08:13 +00:00
Martin Diehl a07c738778 polished a little bit 2014-02-08 10:48:09 +00:00
Martin Diehl 8741f2368d first (not too complicated) workaround for the shortcomings of the new intel compiler. still crashes, but later ;) 2014-02-06 17:48:01 +00:00
Martin Diehl bc4cc20c55 slightly polished makefile and numerics, recompile fftw with icc; still not running with ifort 14.01 2014-02-06 10:41:34 +00:00
Martin Diehl 1ea48bb8ff added accumulatedshear as output for twin and slip 2014-02-05 15:26:22 +00:00
Martin Diehl 83e4bc3247 updated test for restart, now also checking if number of increments is the same
fixed output of test class
fixed small bug? in asciitable.py, @philip: please check
2014-02-03 19:30:28 +00:00
Martin Diehl 1444739d60 prevent ifort from complaining too loud about old syntax in openmpi files 2014-02-03 16:47:16 +00:00
Christoph Kords caca65148d fixed bug in restart: stiffness values that were read from file used to be overwritten by "utilities_constitutiveResponse"
Still not fixed in polarization and AL solver !!!
2014-02-03 15:57:04 +00:00
Christoph Kords b9b87a785c added crystallite_F to debugging output 2014-02-03 13:19:49 +00:00
Franz Roters c5b31b373c no longer needed 2014-02-03 10:38:59 +00:00
Christoph Kords aa4eee2b50 fixed bug in math_rotate_forward3333 2014-01-31 14:28:20 +00:00
Martin Diehl c7e59821d1 fixed compilation bug when using IMKL single core 2014-01-30 15:38:10 +00:00
Martin Diehl 986591682c remove equals sign in rpath definition to work with mac, changed linker options in compile_CoreModule to work with linux again, please let me know if mac doesn't work anymore (it should) 2014-01-30 13:07:44 +00:00
Martin Diehl 9e5a2d8e10 fixed runpath 2014-01-29 19:52:53 +00:00
Martin Diehl f82e5ec26e some small changes on the installation scripts, IMKL now works with gfortran, more verbosity and more sanity checks 2014-01-29 12:20:56 +00:00
Martin Diehl ee99216edc polishing compile_CoreModule, bug fix for Makefile 2014-01-28 07:34:13 +00:00
Martin Diehl 02441bef0f introduced rpath to tell executable where libraries are located 2014-01-27 14:10:49 +00:00
Pratheek Shanthraj b9e55b4495 moved setting of CPFEM forwarding flag to the forwarding subroutine 2014-01-27 11:05:36 +00:00
Martin Diehl 656e3cc6ca some more small changes, including bug fix in configure + relative linking in Makefile for spectral solver 2014-01-27 10:12:29 +00:00
Martin Diehl 4850e5987d remove LD_LIBRARY_PATH (http://linuxmafia.com/faq/Admin/ld-lib-path.html) and fixed wrong named xxx_ROOT 2014-01-25 00:15:04 +00:00
Martin Diehl d66b41c686 fixed installation, will test now 2014-01-24 12:30:27 +00:00
Martin Diehl c99ca8b0ee fixed magnesium parameters 2014-01-23 13:33:09 +00:00
Martin Diehl e6d88e4458 prevent twin volume fraction from going above 1.0 2014-01-22 15:47:49 +00:00
Christoph Kords 391d83fa2b moved rate sensitivity block to where it belongs to, namely the analytic jacobian calculation 2014-01-22 15:34:10 +00:00
Pratheek Shanthraj 4b7890f133 fixed wrong indices in analytic jacobian calculation following christoph's changes. convergence is restored at least for the spectral solver 2014-01-22 10:16:55 +00:00
Christoph Kords 3dfdbaff5b Fixed wrong indices in tangents dT_dFe and dFe_dLp, which however luckily did not have any effect in the perturbed stiffness since they were transposed such that the double contraction of both remained unchanged.
In contrast, the analytical jacobian will probably be affected by this change!
@Pratheek: Can you check with me how this can be fixed?
2014-01-22 08:38:13 +00:00
Christoph Kords c10d0d15cb crystallite_integrateStateFPI: convergence check always ran about all e,i,g; now checking only those specified in FEsolving_execElem, FEsolving_execIP 2014-01-21 18:45:41 +00:00
Christoph Kords ff648492c1 perturbation calculation in crystallite_stressAndItsTangent: only backup and restore those chunks of crystallite_Fe, _Fp etc that are actually used in order to avoid pointless data copying in non ping pong mode
(missed some part in last commit)
2014-01-21 18:28:21 +00:00
Christoph Kords 029826d84f perturbation calculation in crystallite_stressAndItsTangent: only backup and restore those chunks of crystallite_Fe, _Fp etc that are actually used in order to avoid pointless data copying in non ping pong mode 2014-01-21 16:35:12 +00:00
Christoph Kords 351aa6ba29 setting todo and converged flag only for those e,i,g that are to be executed (FE_elemExec etc)
used to spoil convergence checking in non ping pong mode and lead to slow performance
2014-01-21 16:09:00 +00:00
Philip Eisenlohr 74cbfb6d48 added few comments 2014-01-17 01:38:35 +00:00
Christoph Kords 77cba87bf3 in crystallite_integrateStress: pass full 2nd PK stress to LpAndItsTangent instead of only the deviatoric part; otherwise constitutive laws that depend on the hydrostatic pressure do not work; constitutive laws that require a deviatoric stress need to calculate it internally (as is e.g. already done in the J2 model) 2014-01-16 10:36:40 +00:00
Christoph Kords a011b0a4a2 corrected tangent of plastic velocity gradient dLp_dT for slip (twin volume fraction was missing) 2014-01-16 09:53:45 +00:00
Christoph Kords 9223cf52b4 corrected non-Schmid effect: used to calculate resolvedstress based on Mandel notation which can be incorrect for nonsymmetric non-Schmid tensors 2014-01-16 09:50:40 +00:00
Christoph Kords b24dd62431 corrected tangent of plastic velocity gradient dLp_dT for slip (twin volume fraction was missing) 2014-01-16 09:29:21 +00:00
Christoph Kords 563c4ac94b corrected tangent of plastic velocity gradient dLp_dT, which improves convergence a lot 2014-01-16 09:18:26 +00:00
Martin Diehl 278f854e41 introduced functionality to get output results by point from the HDF5 file 2014-01-15 22:17:32 +00:00
Martin Diehl 3fffb2ae3e added parameter set for Magensium 2014-01-15 12:29:44 +00:00
Martin Diehl 9f3a17b1b6 fixed bug in hexagonal slip system definition 2014-01-15 12:08:46 +00:00
Franz Roters 98f677916c fixed crash in RtoEuler for PHI=180° 2014-01-15 08:32:43 +00:00
Martin Diehl 449c66c70f did some testing... 2014-01-14 19:32:55 +00:00
Martin Diehl 01c8c434f7 finished work on the new installation scheme (if no bugs are found ;)) 2014-01-14 19:03:41 +00:00
Martin Diehl aab0208c65 more modifications, only configure needs modifications 2014-01-12 17:29:00 +00:00
Martin Diehl 00eb9b2cf6 forgot Makefile 2014-01-11 17:18:59 +00:00
Christoph Kords a1927b60a7 allow flux between neighboring material points if one of both got a velocity of zero 2014-01-08 16:35:10 +00:00
Christoph Kords b41593f279 blocked density does no longer contribute to dislocation flux; used to generate source term for mobile density if burgers vector had any non-zero component perpendicular to blocking boundary. 2014-01-08 16:31:50 +00:00
Christoph Kords 629295242f added two new outputs: "rho_dot_flux_mobile" and "rho_dot_sgl_mobile"
corrected outputs of dislocation density rates: take into account that blocked dislocation density is a signed quantity
2014-01-07 15:55:28 +00:00
Martin Diehl 79307de6a7 added some code parts for HDF5 in Fortran 2013-12-30 10:06:01 +00:00
Martin Diehl 5b4b132176 introduced preprocessor statements in mesh to hide unneeded variables as a preparation for HDF5 2013-12-27 20:03:28 +00:00
Martin Diehl 831e905b16 added missing lp output to crystallite 2013-12-20 11:13:12 +00:00
Pratheek Shanthraj de3fc70a02 moved restart writing to the forwarding routine 2013-12-20 10:49:14 +00:00
Martin Diehl 98d5a99a43 reverted unwanted changes to Makefile (configure) 2013-12-20 10:31:33 +00:00
Martin Diehl d595f59f0e improved sanity checks, mainly for RGC 2013-12-20 08:36:15 +00:00
Martin Diehl af075aaa9d found bug (array index out of bounds), Philip/Franz please check if correct (Gfortran was complaining) 2013-12-20 08:33:46 +00:00
Franz Roters 543639bb8f added support for Marc/Mentat2013.1 2013-12-19 13:37:35 +00:00
Martin Diehl 61c6839723 fixed over-sensitive error in homogeniztion and ifort option in makefile 2013-12-19 08:49:47 +00:00
Pratheek Shanthraj 6f6bd86078 fixed bug in heat generation and analytic jacobian calculations 2013-12-18 10:19:48 +00:00
Pratheek Shanthraj f3ea92f50c fixed error in previous commit 2013-12-18 09:38:44 +00:00
Pratheek Shanthraj 61981617d7 separated forwarding and solution subroutines for better control at the load step looping level 2013-12-18 09:35:05 +00:00
Pratheek Shanthraj ff6211b78c rolled back phase field changes 2013-12-18 09:09:32 +00:00
Martin Diehl 6fa9ed8f48 homogenization: added enums and sourced allocation for RGC, some higher verbosity for isostrain 2013-12-18 07:28:01 +00:00
Martin Diehl c4a592867f updated to PETSc 3.4.3, will not compile on all workstations except for maws0X 2013-12-17 15:37:14 +00:00
Martin Diehl 676e621af2 new version of Lib_VTK_IO 2013-12-17 13:24:34 +00:00
Martin Diehl 7b9d76cdcc added missing allocation of outputID caused crashing 2013-12-17 08:02:21 +00:00
Martin Diehl ba89df7784 continued with sourced allocation and EOL improvements 2013-12-16 11:58:03 +00:00
Martin Diehl 118dff9f23 fixed wrong initialized symmetry value 2013-12-16 10:56:56 +00:00
Martin Diehl d5bdcf5a6d some small improvements, still something wrong, probably in crystallite.f90 2013-12-13 14:14:17 +00:00
Martin Diehl 84d51d743c fixed small issues, ATTENTION: Still a bug introduced with rev. 2783 not fixed 2013-12-13 13:19:17 +00:00
Martin Diehl 7ba3cc0ab7 removed symlink to marc 2010 2013-12-13 10:04:25 +00:00
Martin Diehl acad3d4a33 using sourced allocation 2013-12-12 23:03:37 +00:00
Martin Diehl da337962af fixed bug for Abaqus input parsing 2013-12-12 22:29:40 +00:00
Martin Diehl 65ae979920 indroduced sourced allocation, enums where applicable (some parts still missing). fixed bug when having recursive file input 2013-12-12 17:09:59 +00:00
Christoph Kords 9b9f4dd624 adapted changes from rev 2776 for constitutive_nonlocal: improved usage of "enum", fixed bug in file reading, usage of "source" specifier for "allocate" 2013-12-12 10:16:50 +00:00
Christoph Kords dd77690a68 fixed bug introduced in rev2777: renamed all remaining occurrences of variable "ncomponents" to "nconstituents" 2013-12-12 10:06:39 +00:00
Martin Diehl 102712d91f added enum for dislotwin output, fixed bug when using recursive file input function 2013-12-11 23:42:33 +00:00
Martin Diehl 95d6430b09 improved on enums (introduced them for output in j2), fixed wrong recursion depth bug in IO, fixed a bug in reading in for none, j2, phenopowerlaw 2013-12-11 22:03:09 +00:00
Martin Diehl 7885ebaf8f added 'reset' flag for recursive function IO_read, need to reset stack when stopping exectution (will be used by constitutive and homogenization) 2013-12-11 16:49:20 +00:00
Franz Roters efa7a6dae2 added example material.config again 2013-12-05 15:11:30 +00:00
Franz Roters bf6e749abd adopted deployMe.sh to new svn server
editorial changes in LICENSE and CPFEM.f90
2013-12-05 14:31:28 +00:00
Christoph Kords 61ebfb4c85 removed obsolete output 'boundarylayer' from material.config 2013-11-29 12:30:06 +00:00
Christoph Kords b0695c0904 enumerators for case switch of outputs as already used in phenopowerlaw
removed obsolete output 'boundarylayer'
2013-11-29 12:29:47 +00:00
Christoph Kords f56cdafccb polishing indentation levels 2013-11-29 12:25:36 +00:00
Martin Diehl 2d624d022f fixed small bug in detecting the lattice structure. only first 3 letters count (e.g. 'ort' and 'orthography' will give the orthorombic lattice type) 2013-11-28 08:56:02 +00:00
Martin Diehl 345e5cd47c split up material.config and added a small helper script to create wiki content from all material.configS
(Work done by Luv, just his TortoiseSVN is not yet installed)
2013-11-27 17:49:34 +00:00
Martin Diehl 0bc99a9622 change latticeName to latticeID 2013-11-27 16:20:27 +00:00
Martin Diehl 6c2ab1f1f8 added ID (integer, enum) case switching for phenopowerlaw and isostrain 2013-11-27 11:39:28 +00:00
Martin Diehl 080edffd87 file was missing in last commit 2013-11-27 08:05:23 +00:00
Martin Diehl 2f7efa2055 introduced named constants for homogenization_type, phase_plasticitiy, and phase_elasticity to replace expensive string comparison. Labels for different schemes need to be stored in material.f90 because they are needed when parsing the config file 2013-11-27 08:04:05 +00:00
Martin Diehl c9ce8d2c52 some improvements on HDF5 test, polishing math 2013-11-22 10:31:52 +00:00
Christoph Kords e8de8f69a8 renaming of "maxNinstance" to be consistent with naming scheme introduced in rev2662 2013-11-21 13:40:14 +00:00
Christoph Kords 3cc6781eaf renaming of "instance" and thelike to be consistent with naming scheme introduced in rev2662 2013-11-21 13:35:43 +00:00
Christoph Kords 883669bd77 in preguess of FPintegrator: resetting of previous dotstates can be done in same loop as collectdotstate
polishing: indentation level and capitalization
2013-11-21 10:58:41 +00:00
Martin Diehl 9083aa53fb fixed long lines due to makro expansion 2013-11-19 16:06:53 +00:00
Pratheek Shanthraj 9c34c1b871 error reporting for phase fields only if there are active phase fields 2013-11-14 10:36:49 +00:00
Pratheek Shanthraj f51c600189 convergence check for phase field only if there are active phase fields 2013-11-14 10:32:41 +00:00
Pratheek Shanthraj 3b113f6a62 more errors :) 2013-11-13 19:38:25 +00:00
Pratheek Shanthraj 8444b4116d corrected error in previous commit 2013-11-13 19:26:36 +00:00
Pratheek Shanthraj 50db944c0c reworked phase field interface to damask spectral solvers. now specify 'thermal a b c' or 'fracture a b c' to activate either phase field where a b c are the initial value, diffusion coefficient and mobility respectively.
Right now only thermal and fracture phase fields implemented and only in the basic petsc solver
2013-11-13 19:21:35 +00:00
Pratheek Shanthraj 724380c624 Coupled phase field implementation for the basic petsc solver. needs clearing up… work in progress 2013-11-12 00:44:23 +00:00
Martin Diehl 9ac8846e41 compiling with hdf5 is now working for DAMASK (if HDF5=ON) and for playground example in private 2013-11-07 12:52:36 +00:00
Philip Eisenlohr c857381881 added "-d", "--directory" as possible cmd switches for working directory.
fixed (sometimes?) non-working check for valid working directory path.
2013-10-24 18:56:56 +00:00
Martin Diehl ea980f428e fixed long line coming from PETSc macro expansion 2013-10-23 17:52:58 +00:00
Pratheek Shanthraj 57cf472982 Improved convergence checking when using newton solver (does not oversolve the problem like before) 2013-10-23 15:22:12 +00:00
Philip Eisenlohr eb0d2b7e24 fixed bug that (sometimes, always?) prevented reading in of debug.config, when variable 'line' was still '#EOF#' from former IO_read... 2013-10-23 11:23:41 +00:00
Philip Eisenlohr bdafc6f1b8 condensed error msg numbering,
introduced new error for "microstructure without any constituent"
2013-10-23 11:21:48 +00:00
Martin Diehl 205eb66ba8 bugfix for last commit, too many variables declared as private 2013-10-23 10:29:38 +00:00
Martin Diehl 96b03841e8 redefined macro for intel compiler, should work with windows (but Nicolo had some problems)
made configure verbose
2013-10-23 08:38:14 +00:00
Martin Diehl 7b28dedfe3 removed temperature calculation and debugging statements 2013-10-22 15:52:58 +00:00
Martin Diehl ea664688f8 introduced dummy temperature calculation. 2013-10-18 20:56:10 +00:00
Martin Diehl 3ecc8103f0 introduced dummy heat calculation, available as an crystallite output
temperature, avgP and avgF are available as homogenization output. move crystallite output of ipcoordinates to homogenization
2013-10-18 18:57:28 +00:00
Martin Diehl 1c7ed337d7 corrected linebreak in comment 2013-10-17 12:52:46 +00:00
Martin Diehl 03e26af37b small bufix, didn't compile 2013-10-16 20:44:04 +00:00
Martin Diehl dc95c82d4a removed temperature integration and corresponding data structures and debugging options
temperature is stored in crystallite, but homogeneous on one IP (not an component (grain) quantity and an input value parsed in by the BVP solver.
introduced heat, a component (grain) quantity which is homogenized before returned to the heat transfer solver.
went ahead with removal of dummy functions in homogenization and constitutive, this time mainly reduced function signatures to reflect actually needed quantities.
2013-10-16 13:04:59 +00:00
Martin Diehl 6a1c40d540 introduced error when element/IP/component(grain) selected for debugging does not exist 2013-10-16 12:38:00 +00:00
Philip Eisenlohr 0a292d8d8b fixed final bug in hex twintwin matrix 2013-10-15 22:02:39 +00:00
Franz Roters 4d184b1ee4 improved comments 2013-10-14 14:35:41 +00:00
Martin Diehl 295d0cd28e removed a bunch of dummy functions (delta state for all constitutive_XXX except nonlocal, microstructure for none, j2 and phenopowerla), additional simplifications for none, averageBurgers is only relevant for RGC 2013-10-14 10:54:45 +00:00
Martin Diehl 029502c12e fixed typo causing compilation error 2013-10-14 06:11:50 +00:00
Martin Diehl b651f334fe set useful default values to remove dummy functions in individual homogenization schemes (stateInit, averageTemperature, and updateState (isostrain only)) 2013-10-11 16:01:53 +00:00
Franz Roters 80cb78c1fd corrected activation of slipbands; both velocity and resistance have to be non zero 2013-10-11 13:52:00 +00:00
Martin Diehl 3b5a5ab812 changed error in case of number of found interaction types is less than expected to warning 2013-10-11 09:17:03 +00:00
Martin Diehl bb0b35e466 made compilation_info.f90 windows compatible and added abaqus_v6_windows.env as a template for using DAMASK with windows.
Deleted old fftw and ACML installation instruction (can be found on damask.mpie.de)
2013-10-10 09:38:31 +00:00
Martin Diehl ed47d25adc remove dotTemperature (returned always 0 anyway) to make it easier to replace it with a heating rate funtction
remove potentially dangerous short circuiting in homogenization files
added doxygen comment for nonlocal (giving the functions a name)
fixed wrong definition of maxnchungs introcuded into dislotwin with last commit, causes trouble with hex
2013-10-09 06:12:16 +00:00
Martin Diehl 82faf74363 added doxygen documentation and unified variable names and some common parts of the code 2013-10-08 16:27:26 +00:00
Philip Eisenlohr 0a7052a7da fixed two errors in hexagonal slipslip and twintwin interaction matrix 2013-10-08 13:52:19 +00:00
Philip Eisenlohr 42cd4eb38f fixed some e12.6 string formats to avoid compile time warnings 2013-10-08 13:51:36 +00:00
Philip Eisenlohr a2169e338f fixed type-casting problems (mainly with Lib_VTK_IO) 2013-09-26 17:21:46 +00:00
Martin Diehl ca2a8d0a03 fixed typos in Abaqus related functions 2013-09-23 09:01:46 +00:00
Martin Diehl 595c8860a2 renamed myInstance -> matID, myStructure -> structID to be consistent with other constitutive models 2013-09-20 17:03:11 +00:00
Martin Diehl ad32aa3ced fixed calculation of CurlRMS when grid(1)==1 2013-09-20 16:17:25 +00:00
Martin Diehl a0f304021f fixed restarting for Polarisation and AL, updated corresponding test and polished output in python (some statements are screwed up when making them Python3 compatible) 2013-09-20 14:22:37 +00:00
Martin Diehl 40c399bf2e fixed bug in last commit and remove one more goto marker 2013-09-19 15:28:55 +00:00
David Mercier ce926aaf1f Minor contribution :
- add SVN keyword to the material.config file for cp-Ti
- add comments in lattice file
2013-09-19 09:17:09 +00:00
Martin Diehl ca0b3b7b81 changed name of some variables to be in accordance with constitutive_none,j2,phenopowerlaw 2013-09-19 07:46:01 +00:00
Martin Diehl 70c888f6ea fixed a typo in documentation 2013-09-18 19:54:39 +00:00
Martin Diehl 56d21286a6 fixed comment on values changed automatically 2013-09-18 14:33:40 +00:00
Martin Diehl 3eec0ecdcd introduced #EOF# as module wide parameter in IO.f90
renamed read/write binary file to read/write real/int
removed suffix job from readFile functions as the name of the model is needed as an argument
2013-09-18 14:07:55 +00:00
Martin Diehl 19a353edb4 made error in case of invalid precision more verbose 2013-09-18 13:59:42 +00:00
David Mercier a8eb6a985e - Addition of an example of a material.config file for hcp material (cp-Ti).
- New Error Message #214 when elastic constants are not correctly defined.
- Error message when the c/a ratio for hcp is higher than 2 (no physical sense).
2013-09-17 12:20:50 +00:00
Martin Diehl cb16b30409 set output order of spectral parameters to more reasonable one 2013-09-17 09:19:16 +00:00
Martin Diehl 3bf0ed84c8 some comments and minor improvements.
removed tol_gravityNodePos from prec because it's not used
tol_math_check is now used by spectral driver to check rotation
2013-09-14 10:59:35 +00:00
Christoph Kords 5f973a21c0 require all hardening coefficients/ non schmid coefficients to be specified in material.config, do not silently ignore any
warning message now more meaningful (?) when using less than maximum number of slip families
2013-09-12 14:47:09 +00:00
Martin Diehl ddfc40afe6 improve restart test, deletion of results was messed up. fixed restart for BasicPETSc, AL and Polarization currently don't run when restarting 2013-09-05 12:07:58 +00:00
Christoph Kords 4ebf46d2ac nonSchmidProjection was reset to zero each time during instance loop in init, so entries from previous instances got lost; fixed that 2013-08-23 13:53:03 +00:00
Christoph Kords 1f77594ca0 dislocation velocity was not correctly stored to state in last version 2013-08-21 13:54:36 +00:00
Christoph Kords 4f8664baa3 in kinetics: non schmid stresses only influence peierls mechanism, but not solid solution hardening; as a result the derivative of the velocity with respect to the resolved stress has to be split into a Schmid and a non-Schmid part 2013-08-21 12:21:52 +00:00
Christoph Kords ec377a6e8e removed obsolete "dead zone" scaling 2013-08-21 08:39:43 +00:00
Christoph Kords f706ba3ff9 rearranged arguments of "constitutive_nonlocal_kinetics", got "tauTreshold" as argument, not complete state
don't call "constitutive_nonlocal_kinetics" twice for edges in case of nonSchmid behavior, but just call once and copy results from positive to negative edges
2013-08-21 07:55:34 +00:00
Christoph Kords 277972edbd "dv_dtau" argument in "constitutive_nonlocal_kinetics" not optional anymore
renamed "screwStressProjection" to "nonSchmidProjection"
2013-08-21 07:23:02 +00:00
Christoph Kords 39c05e0d9e for bcc: exchanged 2nd and third hardening coefficient to be consistent with fcc; now 2nd is coplanar and 3rd is collinear; added newer reference concerning the bcc hardening coefficients 2013-08-14 11:47:03 +00:00
Christoph Kords e909b825cc correction of hardening coefficients also enabled for bcc
for fcc: now applied to all hardening coefficients, not only hirth, lomer, and glissile
2013-08-14 11:44:30 +00:00
Martin Diehl b8d5f3124f added citation on phenopowerlaw aluminum parameters 2013-08-09 21:24:42 +00:00
Pratheek Shanthraj e62b760a6e added F_avg = F_aim in boundary condition convergence check 2013-08-09 16:25:13 +00:00
Martin Diehl 822fa3d97c forgotten line continuation 2013-08-09 04:16:16 +00:00
Martin Diehl c93373a4ac removed long lines 2013-08-08 19:33:21 +00:00
Martin Diehl 3bb5a5e7b5 line too long in DAMASK_spectral_solverPolarisation.f90, reordered curl calculation for clearer look, fixed test for Marc 2013 2013-08-08 18:10:58 +00:00
Franz Roters 591a3023e8 made plain mode work with Abaqus
ATTENTION plain mode (Marc and Avaqus) does not support writung out the deformed geometries
2013-08-08 15:00:22 +00:00
Christoph Kords 3fcc00910c fixed bug that occured under marc (and abaqus?) with openmp:
"lastLovl" (for marc) and "lastStep" (for abaqus) have to be global module variables in FEsolving.f90 instead of local variables in the respective DAMASK_* files; otherwise they are initialized with zero each time hypela2/umat is called.
2013-08-08 12:53:03 +00:00
Martin Diehl 7f3c24e1f1 fixed some buggy last minute changes in the last commit 2013-08-08 09:13:29 +00:00
Pratheek Shanthraj 23e8fcbc51 updated config file with new convergence parameters 2013-08-08 09:12:12 +00:00
Martin Diehl ac92b90e0b fixed al and pol solver, now checking for div(p) = curl(f) = 0 2013-08-07 17:20:05 +00:00
Christoph Kords f2d6703148 multiplication now sensitive of crystal structure, yet multiplication in bcc identical to fcc except for the contribution of edges which is completely dropped for bcc 2013-08-05 09:26:37 +00:00
Christoph Kords 813ed130b0 nonSchmid behavior now ready to use for bcc with phenopowerlaw and nonlocal constitutive model.
nonSchmid tensors according to Koester,Ma,Hartmaier,2012.
extended lattice_Sslip with non-Schmid tensors (the full non-symmetric tensors are required for the tangent and cannot be retrieved from the symmetrized Mandel notation)
2013-08-05 09:23:21 +00:00
Christoph Kords 9f0fe873ba plain mode (no ping pong) now seems to work for marc, further testing needed
regular sequence of computation modes is
inc 0: 1,1,1,…
inc 1: 0,0,0,…
          7,1,1,…
          0,0,0,…
          1,1,1,…
and so on

after a cutback the computation modes follow as
inc 5: 8,0,0,…
          1,1,1,…
          0,0,0,…
          1,1,1,…
2013-08-02 16:19:45 +00:00
Christoph Kords fa3be9a967 corrected lastLovl introduced in rev2593 2013-08-02 15:44:28 +00:00
Martin Diehl 5b80ef3a4c fixed wrong error calculation in Polarisation and AL solvers, and strictened tolerances for tests 2013-08-02 13:55:44 +00:00
Christoph Kords 8d6b840802 removed variable lastMode from FE_solving, used to be used for detection of first call after ping pong; now this is done by checking for a change in the lovl (macro) or a change in the calculation step (abaqus) 2013-08-02 13:28:50 +00:00
Martin Diehl 74791a6686 corrected invalid error for mismatch_p 2013-08-02 11:48:24 +00:00
Christoph Kords 3d687be8b0 Changed order of blocks associated with different tasks:
backup jacobian
restore jacobian
age results
collect 
calc
This becomes important if multiple tasks are requested by one call to CPFEM_general. In plain mode this could, e.g., be 
1) backup jaco, 2) age results, 3) calc
2013-08-02 11:36:51 +00:00
Christoph Kords 7d2206356e parallelExecution flag now passed as input variable by CPFEM_general; flag is set on the solver level (DAMASK_abaqus_exp.f, DAMASK_marc.f90, etc.) 2013-08-02 11:20:11 +00:00
Franz Roters 4f9dbfa193 last commit also solves problem with infinite loop in case of a cutback in homogenization
corrected indentation of a comment
2013-08-02 07:59:55 +00:00
Franz Roters a08d263865 remnoved some unused fuctions from use statements 2013-08-02 06:18:41 +00:00
Christoph Kords a7f0f4ed79 moved some small part of the code that remembers maximum and minimum stress/stiffness values to different location 2013-08-01 16:27:37 +00:00
Christoph Kords 728facd451 corrected indentation level of parts of the code
moved debugging output of stress and stiffness to different position in code
2013-08-01 16:10:56 +00:00
Martin Diehl ac2ca43cfc added svn properties 2013-08-01 09:13:46 +00:00
Martin Diehl 2dc985f558 set tolerances to useful values and renamed them.
allowed "keyword = value" in numerics.config (simply removing "=" from line)
2013-07-31 15:03:38 +00:00
Martin Diehl b5a11f9d31 fixed bug in AL, weakened correction slightly 2013-07-30 21:04:41 +00:00
Martin Diehl 81531097f1 changes on convergence tolerances of AL and Polarisation, switched back to immediate correction of stress bc but only when last two average stresses are close to each other (cosine decay) 2013-07-30 15:32:55 +00:00
Pratheek Shanthraj 03d8f14a98 introduced dynamics for high strain rate simulations. so far only works for materials with homogeneous density. the density is read in as an optional argument in the load file using the keyword 'den' or 'density'. if density > 0 then inertial terms are added to the stress equilibrium. an implicit euler time discretisation is used to calculate the inertial terms.
dynamic problems are length scale dependent so make sure the geometry size is meaningful (1 m^3 or N m^3 for example is too big for a RVE!).

not specifying a density (density = 0) will perform a quasi static simulation as before.
2013-07-26 16:25:37 +00:00
Martin Diehl 216063fe36 added Polarisation scheme as solver 2013-07-24 13:06:16 +00:00
Franz Roters 4f7cd76b29 renamed texture_rotation into texture_transformation
changed keyword for material.config to axes in line with geom_fromAng.py
former keyword rotation is still recognized for compatibility
2013-07-24 11:09:39 +00:00
Franz Roters f896b4a01e updated Marc/Mentat integration once more to minimze interference with original instal
added support for Marc2013, which is now default in apply_DAMASK_modifications
2013-07-24 08:41:58 +00:00
Martin Diehl ebe8361af0 decoupled compatibility/equilibrium calculation from stress BC correction. needs more iteration for mildly contrasted materials, but there the basic scheme is better suited anyway. but now converges better for highly contrasted VEs 2013-07-23 17:42:15 +00:00
Christoph Kords 3749cd5564 changed "math_AxisAngleToR" to "math_axisAngleToR" to be consistent with spelling in math.f90 2013-07-22 09:43:35 +00:00
Martin Diehl bbb0803ce4 itmin was always +1 2013-07-17 19:58:48 +00:00
Martin Diehl 74a7840a59 wrong intent(in) statement fixed 2013-07-15 10:13:28 +00:00
Martin Diehl 8210b14e90 comments for doxygen 2013-07-12 06:57:15 +00:00
Martin Diehl 4407edd802 checked convergence reporting for AL and BasicPETSc, seems to be ok now. 2013-07-08 15:48:13 +00:00
Martin Diehl 27c64ba4ad corrected line breaking for /echo/ tag 2013-07-08 09:46:38 +00:00
Franz Roters 1db24d2a72 removed duploicate writes
changed last occurences of old mode syntax
one more change in the direction of a plain mode, i.e. when there is no collect cycle
2013-07-04 11:59:45 +00:00
Pratheek Shanthraj 8f146ad385 fixed bug in cosine filter 2013-07-02 04:38:18 +00:00
Philip Eisenlohr 8ccdfb27f3 reworked the hexagonal slip system order and adjusted interaction matrices to a logic that facilitates later system additions without altering existing structure. 2013-07-01 14:01:42 +00:00
Franz Roters 4a291dc372 implementation of twin nucleation criteria according to Davids PhD thesis
applies for fcc crystal structure only
2013-07-01 13:06:01 +00:00
Martin Diehl 6ec57db0c6 fixed writing out of initial configuration for spectral solver in case of ngrains != 1, small formating improvements in other files 2013-07-01 06:40:09 +00:00
Martin Diehl 40ace5c666 more documentation and parameters capitalization unified and using ipc in all modules (sometimes called gr)
nonlocal: only missing line continuation in string fixed
2013-07-01 06:10:42 +00:00
Philip Eisenlohr f408ea3381 corrected error msg typos 2013-06-30 00:17:58 +00:00
Martin Diehl 5f20c86905 small documentation and output fixes 2013-06-28 18:59:21 +00:00
Martin Diehl ef2c2af471 doxygen documentation for J2 2013-06-28 18:58:10 +00:00
Philip Eisenlohr fd8d85896a error msg in case of unknown keyword was not properly trimmed --> 64kB of spaces... 2013-06-27 16:41:00 +00:00
Philip Eisenlohr f9f76fa158 missed these three files in last commit!
[added possibility for multi-level inclusion of files in *.config and loadcase files.
include subfiles by stating

{path/to/include}
]
2013-06-26 19:19:41 +00:00
Philip Eisenlohr 98528f9a89 added possibility for multi-level inclusion of files in *.config and loadcase files.
include subfiles by stating

{path/to/include}
2013-06-26 19:19:00 +00:00
Martin Diehl 0f1bb4f555 corrected doxygen documentation tags 2013-06-25 06:08:33 +00:00
Harsha Phukan aea8ab144a changed all file reads consistently to 65536 bytes length 2013-06-24 13:33:30 +00:00
Franz Roters 9a1ad7e089 added third value for slip twin interaction in fcc dislotwin example 2013-06-24 12:53:56 +00:00
Pratheek Shanthraj 7b2e48df68 new 'gradient' filter based on greens function from gradient elasticity theory. work in progress 2013-06-21 17:26:05 +00:00
Philip Eisenlohr 81cdd2b1cc added second type prismatic slip system for hexagonal lattices as 6th slip family.
consequently, 4 new interaction types (21,22,23,24) available for slip/twin and twin/slip.

interaction of slip/slip got rearranged and now has 42 types...
list of former --> new:
6	7
7	8
8	9
9	10
10	11
11	13
12	14
13	15
14	16
15	18
16	19
17	20
18	22
19	23
20	25
21	28
22	29
23	30
24	31
25	33
26	34
27	35
28	37
29	38
30	40
2013-06-14 10:20:31 +00:00
Franz Roters a78f91311e added svn properties: line ending: LF and keywords: ID 2013-06-14 09:49:33 +00:00
Pratheek Shanthraj 1c25403b5b changed default values of AL spectral solver tolerances. should've been done along with commit 2254. 2013-06-12 10:06:04 +00:00
Christoph Kords daf89806b1 fixed bug in deltaState; used to lead to unpredictable values in accumulated shear, since deltaState was not defined at this state position 2013-06-11 21:03:23 +00:00
Martin Diehl 296a5040b9 fixed bug in initialization when reading in material.config.
Fortran does not short-circuit, e.g. (if a>0 .and. b(a) ==c) might cause an out-of-bounds error when a=-1 it'll try to access b(-1)!
2013-06-11 20:16:40 +00:00
Martin Diehl 6f7740a243 made doxygen working for MSC.Marc again, small changes on the todo-statements for doxygen, they don't work on single lines of codes but only on module/variables 2013-06-11 16:35:04 +00:00
Ding Wang ce9f92a884 polishing output 2013-06-11 10:27:38 +00:00
Martin Diehl 1b53bad9a4 removed doubled equal sign in compiler name definition 2013-06-11 09:06:25 +00:00
Martin Diehl a7b6093edc fixed bug in include_linux64 for Marc 2012, tests should run again after updating the copy in /msc/....
polished two other versions of this file
unified output format for /echo/ in material.f90
2013-06-11 07:28:08 +00:00
Christoph Kords 55735b9580 grainrotation output now uses corrected rotation math 2013-06-07 09:35:00 +00:00
Martin Diehl 5d7f7f1bc5 reverted accidently commited changes to Makefile.
one public statement in math.f90 still prevented compilation of core module, fixed that
2013-06-07 07:27:12 +00:00
Martin Diehl e6ca36c7d7 removed old DAMASK_marcXXXX.f90 source files.
If you just use one Marc version, simply select DAMASK_marc.f90, this matches for all releases. 
DAMAKS_marc.marc compile with Marc 2010 does not work with Marc 2012. In case you need more than one Marc version in parallel, run symLink_Code.py in /code/setup to generate symlinks for Marc version 2010,2011,2012
2013-06-06 16:04:40 +00:00
Martin Diehl 06b977ff61 added public statements to fftw functions and constants after whole math module is private now 2013-06-06 09:25:27 +00:00
Christoph Kords 622e2dcf15 Fixed bug in math rotations: passive and active rotations were not clearly distinguished and partly mixed up; yet, luckily, only resulted in wrong output of euler angles.
Now fixed with following convention:
Rotation conversions do not switch implicitly from active to passive or vice versa EXCEPT when converting to or from any "Euler" type (Euler angles or Euler axis/angles). Those functions expect a passive rotation as input if converting to Euler type and return a passive rotation if converting from Euler type.
2013-06-05 19:10:37 +00:00
Philip Eisenlohr 84c43741a6 reworked distribution of microstructure constituents. now each material point represents "as good as possible" the fractional content of constituents.
removed error for volume fractions not equalling 1.

implemented capability to rotate the texture given in material.config.
2013-05-29 17:23:49 +00:00
Martin Diehl a21dd816c7 init reporting of constitutive_*.f90 had less/to much spaces, renamed label to LABEL because it is a parameter.
removed debug output of geom_fromEuclideanDistance.py
2013-05-28 17:31:55 +00:00
Christoph Kords a6361738fb (again!) fixed bug that was introduced in rev 2085: messed up indices of stiffness matrix in calculation of Poisson's ratio 2013-05-26 14:31:31 +00:00
Christoph Kords ab997f19ac fixed bug in nonlocal state init that was introduced in rev 2438 and used to reset states from other constitutions 2013-05-24 13:43:44 +00:00
Christoph Kords c0539d2383 replaced all remaining occurrences of state indices 2013-05-24 11:48:34 +00:00
Christoph Kords e2d970ce57 combined some state indices to an array with a more generic name 2013-05-24 09:02:30 +00:00
Christoph Kords ad4a66cb4e use named state variable indices in "deltaState" 2013-05-23 21:46:15 +00:00
Christoph Kords 332b207270 use named state variable indices in "kinetics" and "microstructure" 2013-05-23 21:40:00 +00:00
Christoph Kords 5900076d72 rename state variable index for critical resolved shear stress from "iTau" to "iTauF" 2013-05-23 21:32:36 +00:00
Christoph Kords ad2a245cdf use named state variable indices in "microstructure" 2013-05-23 21:28:45 +00:00
Christoph Kords c02645c996 use named state variable indices in "aTolState" 2013-05-23 21:13:56 +00:00
Christoph Kords f04a531e9b use named state variable indices in "stateInit" 2013-05-23 21:10:31 +00:00
Christoph Kords 65524b7f84 corrected named indices for state variables; however, not yet used 2013-05-23 20:30:06 +00:00
Christoph Kords e249366ded introduced named indices for state variables; however, not yet used 2013-05-23 20:15:23 +00:00
Christoph Kords 72129cae00 removed prefix "constitutive_nonlocal_" from all private variables 2013-05-23 19:56:36 +00:00
Christoph Kords b559666436 replaced FE_maxNipNeighbors with mesh_maxNipNeighbors, which is sufficient for memory allocation, since this gives the maximum of neighbors in all cp elements 2013-05-23 17:46:21 +00:00
Christoph Kords 77e9b80a16 bug fix for calculation of fluxdensity and slipnormal/direction in constitutive_nonlocal_postResults: indices for Fe were missing 2013-05-23 14:52:57 +00:00
Christoph Kords 41faa60323 fixed bug in backstress calculation for elements with periodic neighbors 2013-05-23 12:36:48 +00:00
Christoph Kords 3aaf60cffe polishing 2013-05-23 12:25:56 +00:00
Christoph Kords ec2503253e added output of slip direction and slip normal
changed name of fluxdensity outputs
2013-05-23 08:19:36 +00:00
Pratheek Shanthraj 399a0218c7 bug fix on commit 2424 that caused compilation errors 2013-05-22 09:40:23 +00:00
Christoph Kords e758ee32be improved accuracy of accumulated shear output: take shear rate from LpAndItsTangent for time integration 2013-05-21 10:04:52 +00:00
Nader Zaafarani 882c3e155f Adding two titles for accumulated shear due to "slip" and "twin" 2013-05-19 20:34:40 +00:00
Nader Zaafarani a104fda3b9 Adding accumulated shear due to "slip" and "twin" as two outputs 2013-05-19 20:32:06 +00:00
Christoph Kords 3759024b42 forgot to set neighboring_rho (also reverting changes made in rev 2384) 2013-05-19 19:23:31 +00:00
Nader Zaafarani 871df5427d Correction for shear_rate_twin in postresults: characteristic twin shear was missing 2013-05-19 15:45:34 +00:00
Martin Diehl c7ba8a2a9b introduced plain mode (no ping pong) again and added test for MSC.MArc 2012 as prove that its working 2013-05-17 17:52:46 +00:00
Martin Diehl 4416efe89b doxygen documentation for constitutive_none 2013-05-17 17:09:42 +00:00
Martin Diehl 7833f79f75 replaced numerics_unitlength with mesh_unitlength 2013-05-17 16:52:19 +00:00
Christoph Kords 0504fb3b21 reverted changes made in rev2384 2013-05-17 12:54:47 +00:00
Ding Wang 57b591ff39 corrected PETSc debug and Capitalization 2013-05-16 08:55:10 +00:00
David Mercier 190a59b707 set Lib_VTK_IO-master.zip and related files back to initial version, new version is not working with MSC.Marc 2010 2013-05-15 16:43:18 +00:00
Christoph Kords 7ae786e802 fixed bug in mesh_spectral_build_ipneighborhood that was introduced in rev2390: loop counter were mixed up 2013-05-14 09:45:22 +00:00
Martin Diehl 364267afa2 fixed bug when having . at end of directory name, added check to see if the specified working directory exists 2013-05-13 14:10:48 +00:00
Martin Diehl 872f6a9d90 introduced possibility so specify deformation gradient aim at end of load case, rate will be calculated using difference between start of load case and aim. Needed for cyclic loading.
Use keyword "f" for this behavior, don't use it as short name for freq any more!
2013-05-13 09:44:23 +00:00
Christoph Kords 6fac7c347c fixed bug in constitutive_nonlocal_kinetics that was introduced in rev2088 along with the non-Schmid behavior: nonSchmid matrix of last slip system was used for all slip systems; led to extremely bad convergence due to flawed dLp_dT 2013-05-10 22:29:12 +00:00
Martin Diehl b83b557af2 updated Lib_VTK_IO again. Contains small bug fix ans support for Base64 encoding 2013-05-10 12:57:00 +00:00
Christoph Kords d9cc42daef slight change in flux formulation: no flux to neighbor, not only if there is a sign change in the velocity, but also if the neighboring velocity is exactly zero 2013-05-10 08:42:42 +00:00
Martin Diehl cfac73043d some lines in crystallite.f90 exceeded limit of 132 characters
fixed bug in Lib_VTK_IO.f90 (informed author as well)
added zip file containing source of Lib_VTK_IO.f90
2013-05-08 17:48:00 +00:00
Martin Diehl 755e0e2440 vtk files are now correctly written to current working directory.
updated Lib_VTK_IO.f90
2013-05-08 16:10:21 +00:00
Martin Diehl 85d4a37d95 moved public data res,size and homog from mesh to DAMASK_spectral_utilities (as grid and geomSize) 2013-05-08 15:52:29 +00:00
Christoph Kords 3b788720e5 added crystallite output "neighboringelement" and "neighboringip"
some polishing in crystallite_postResults
2013-05-08 12:02:30 +00:00
Martin Diehl b2a3c9235b fixed some warnings issued by gfortran (type conversion, not needed use statements) 2013-05-08 09:23:47 +00:00
Christoph Kords 6e64b5c476 better not allow for deads to contribute to flux, since not clear at which interface they got stuck 2013-05-07 18:47:17 +00:00
Christoph Kords 1c2c9b8436 ip neighborhood was screwed up for spectral solver as of rev 2332 due to new "mesh_spectral_ipNeighborhood": used to have fastest index in z direction although it should be in x direction!
also removed output of node twins in "mesh_tell_statistics" when using spectral solver, since not allocated
2013-05-07 17:50:58 +00:00
Christoph Kords fb5f94812f corrected format strings in mesh_read_meshfile and mesh_write_meshfile 2013-05-07 13:27:51 +00:00
Christoph Kords c7f987a3c1 "unitlength" parameter, which determines the physical size of the mesh, now available as a global mesh variable "mesh_unitlength" and written to the .mesh file during init.
Hence, it is available to the marc_deformedGeometry.py script via "mesh_init_postprocessing()" and "mesh_get_unitlength()", so no need for setting the scaling of the displacement vectors explicitly through an option; now displacements and nodal positions are always consistent
2013-05-07 13:06:29 +00:00
Franz Roters d2416abdb4 introduced new keyword 'rotation' to specify texture rotation
ATTENTION: so far it is read but NOT yet applied!!!
waiting for updated code for orientation assignement
2013-05-02 08:35:37 +00:00
Martin Diehl b98ce3d22d fixed out of range bug introduced with singleRun changes in rev. 2356 2013-04-30 12:14:07 +00:00
Martin Diehl 2a5dfbbfa0 removed #define Marc and substituted #ifdef Marc by #ifdef Marc4DAMASK which is defined by either the submit scripts or DAMASK_marcXXXX.f90 2013-04-30 09:49:30 +00:00
Philip Eisenlohr e912c74da5 added possibility to select "mapping" of multiple grains.
'average', 'avg', 'mean' --> result averaged over Ngrains.
'parallel', 'sum' --> result added up from Ngrains.
2013-04-30 09:40:06 +00:00
Franz Roters 0d95d33646 use disk shape for twin also in initialization 2013-04-30 07:34:05 +00:00
Martin Diehl 533fcec96f named some loops and made BUTCHER TABLEAUs parameters in crystallite_integrateStateRKCK45 2013-04-29 11:17:30 +00:00
Christoph Kords cc72c0b17b added two new scripts:
"marc_extractData" is a simple variant of the "postResult" script that extracts all data from a macro *.t16 file (quadratic elements not yet supported) and writes it into an asciitable
"addDataToGeometry" searches for corresponding *.txt and *.vtk file in a given directory and adds the data from the *.txt file as SCALARS to the *.vtk file

first script needed an additional function in mesh that returns the corresponding node of a given ip in a specific element
2013-04-28 20:56:17 +00:00
Martin Diehl 9fb6d8167b simplified logic for single run, now not checking for extra arguments but simply checking if start and end elem/IP are the same 2013-04-26 13:23:36 +00:00
Martin Diehl 60739abb0d corrected statistics reporting in case of cutback 2013-04-26 09:13:39 +00:00
Martin Diehl f18c6c5903 fixed bug causing no fluctuation in case of using with 3Dvisualize 2013-04-25 14:43:20 +00:00
Martin Diehl d05ebff400 introduce commented new output with stream (no markers at begin/end) and with grid/size instead of res/dim 2013-04-25 14:03:54 +00:00
Martin Diehl 6e1cbb427d parallel execution currently doesn't work, now disabled for explicit 2013-04-24 12:32:25 +00:00
Christoph Kords 650b7ef4ac added python script that produces vtk files with the (node based and ip based) deformed mesh from marc output file 2013-04-23 18:30:56 +00:00
Christoph Kords 51552b027d fixed bug: initialize computation mode to zero, used to be unset for lovl=4 and not(timinc < theDelta .and. theInc == inc), which unpredictably caused trouble with marc 2013-04-23 14:42:22 +00:00
Martin Diehl 5837b25e27 accidently commited constitutive.f90 wasn't working, fixed now 2013-04-23 07:37:14 +00:00
Martin Diehl d5e4a354e6 misplaced space corrected 2013-04-22 15:35:15 +00:00
Franz Roters b5b6bf56d4 reintroduced Calculation of forest projections for edge dislocations, got lost after rev.1908 2013-04-22 15:17:24 +00:00
Martin Diehl 8da7544978 marc doesn't need error prone setup_code any more, moved Marc includes from code/include to lib/includeMarc
DAMASK_marcXXXX.f90 now is not a copy any more but contains one definition and an include statement

setup_code of spectral solver is now replaced by the standard 1) configure 2) make 3) make install
2013-04-22 14:41:33 +00:00
Christoph Kords a7706090d2 neighborhood relations were screwed up for some elementtypes as of version 2318, might have caused segmentation faults with nonlocal model, now fixed 2013-04-22 13:35:35 +00:00
Philip Eisenlohr 49ef6d7193 spectral_build_neighborhood now "hidden" in spectral compile part. (should not interfere with Marc/Abaqus compile anymore) 2013-04-22 09:01:58 +00:00
Christoph Kords ca99274a5d fluxes now always periodic for spectral solver, no need to explicitly state this in the geom file by use of "periodic" keyword 2013-04-22 08:32:51 +00:00
Christoph Kords 60fa91be9a calculation of cellnode positions now available in python via damask.core
first call damask.core.mesh.mesh_init_postprocessing(meshfilename) to initialize all necessary mesh variables
then damask.core.mesh.mesh_build_cellnodes(nodes) calculates the cellnode positions for a given list of node positions
the meshfile that is needed for the init is created automatically by mesh_init in DAMASK

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For marc simulations, run
 ./code/setup/setup_code.sh
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2013-04-21 18:48:59 +00:00
Philip Eisenlohr d203e8dece removed extra comma (might have caused issues?) 2013-04-19 16:05:13 +00:00
Philip Eisenlohr e8f238a413 added specialized ipNeighborhood calculation for spectral solver case 2013-04-19 16:04:20 +00:00
Christoph Kords 12760026a4 last version still did not compile: IO_write_jobFile was not used by mesh_init 2013-04-19 13:02:37 +00:00
Christoph Kords 55bc741d1d last version did not compile: fixed small typo in mesh_init 2013-04-19 12:59:45 +00:00
Martin Diehl 4bc5e6717b fixed small bug when calculating mesh_Ncells 2013-04-19 12:41:06 +00:00
Christoph Kords 103c770ee6 fixed bug in cell generation: "FE_Ncellnodes" was not correct for elem type 17 and 136
too much memory allocated for mesh_cell
2013-04-18 17:56:14 +00:00
Martin Diehl 6b46a9c338 introduced output of initial geometry (vtk file) to mesh 2013-04-18 16:40:49 +00:00
Martin Diehl 8b2d9d8155 further improvements on implementing the plain mode 2013-04-16 17:07:27 +00:00
Martin Diehl 2ba986be2a introduced new dummy module "libs" for inclusion of further library sources. contains kdtree2 and Lib_VTK_IO at and is enabled for the spectral solver only at the moment 2013-04-16 12:45:12 +00:00
Christoph Kords 2a6ac44496 Major restructuring of mesh.f90 due to introduction of "cells". A cell is the volume (area in 2D elements) that surrounds an ip. It is described by up to 8 cell nodes and is used to calculate ip volume, area, and face normals. It can also be used to generate a mesh for e.g. paraview that contains ip output as cell centered data.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For marc simulations, run
 ./code/setup/setup_code.sh
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2013-04-15 08:13:20 +00:00
Christoph Kords eaccf88e12 fixed bug that was introduced in the element type mapping in version 2305 2013-04-10 13:22:02 +00:00
Christoph Kords 9b1fd579d4 corrected phase numbering in example material.config 2013-04-10 12:09:09 +00:00
Martin Diehl ddcc795461 allowed arbitrary grid (formerly know as resolution), i.e. any integer>1 in each dimension is possible.
removed square root correction for divergence (doesn't make sense)
fixed FFT debug of spectral solver
2013-04-10 10:19:16 +00:00
Christoph Kords 4338cd13bc - added element type 54 for macro (2d 8node 4ip reduced integration)
- automatically raising error for unknown element type inside mapping function
2013-04-10 09:38:40 +00:00
Christoph Kords 338e338c9a - fixed bug in volume calculation of 2d elements
- subroutine "mesh_build_ipVolumes" uses openmp parallelization
2013-04-10 08:24:53 +00:00
Christoph Kords d80d416c32 2d elements now have a volume corresponding to a thickness of 1; used to have zero volume
now also 2d elements can be used with nonlocal model
2013-04-09 18:07:30 +00:00
Christoph Kords 5b508b5ee4 no need to exclude any geometry type from usage of nonlocal model 2013-04-09 13:10:31 +00:00
Martin Diehl 924d943edc simplified interface of CPFEM_general (removed P and F, made cs and dcs/dE optional)
commented and cleaned up the marc interface.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For marc simulations, run
 ./code/setup/setup_code.sh
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2013-04-09 10:08:00 +00:00
Martin Diehl 7b5a202e8c enabled alternative (and soon standard) keywords grid (resolution) and size (dimension).
removed errors for odd resolution
2013-04-08 14:22:32 +00:00
Christoph Kords ad879ebcf9 forgot to delete all occurrences of obsolete "constitutive_nonlocal_ accumulatedShear" in last commit 2013-04-08 08:51:12 +00:00
Christoph Kords 10e50bf41d improved accuracy of "accumulated shear": now added as a state variable, which facilitates integration (dotstate=shearrate); needs absolute tolerance value for state integration in material.config 2013-04-04 13:37:14 +00:00
Christoph Kords 3c25723139 - make sure that formerly blocked density is not able to move to neighbor until it is remobilized
- added some explicit indices instead of ":"
2013-04-03 16:29:48 +00:00
Christoph Kords 6d3f05b387 small changes in nonlocal constitutive model:
- make sure neighboring density is always greater equal zero
- no extra Bauschinger in postResults
2013-04-03 16:22:55 +00:00
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
Christoph Kords 7cc6108a04 hardening coefficients for fcc are density dependent (line tension effect, Devincre, Kubin, Hoc; 2006; Physical analyses of crystal plasticity by DD simulations)
fixed bug with thermal annihilation producing negative density in case of very small dipole density and high climb velocity
2012-10-04 18:08:40 +00:00
Martin Diehl 80465c0b49 moved option for UTF-8 encoding to spectral interface as this is now called before prec init.
if UTF-8 encoding is needed for FEM solver (old compilers might not support it), add the same statement to the corresponding interface routine
2012-10-04 14:22:39 +00:00
Martin Diehl e2ea3cdff6 again some changes regarding creation of NaN, ieee-conforming way is not in the complilers yet. 2012-10-02 16:53:03 +00:00
Christoph Kords bce8012c89 random distribution of initial dislocation density now really independent of meshsize 2012-10-02 15:26:58 +00:00
Martin Diehl d5ce49c471 numerics got some protected statements and is now reading in the new keywords for the solver selection in small letters.
spectral solver got cut back facilities + improved output to screen
2012-10-02 15:26:56 +00:00
Christoph Kords 91b7883c2a random distribution of initial dislocation density now independent of mesh size 2012-10-02 13:35:34 +00:00
Christoph Kords 1502a71f0c added possibility to start with an initial random distribution of dislocation segments with specific overall density 2012-10-02 12:57:24 +00:00
Martin Diehl 0bcb8f59db added doxygen comments, some polishing, added "protected" statements where applicable 2012-10-02 12:53:25 +00:00
Martin Diehl 6301787df4 moved the the variable cutBack from FEsolving.f90 (where it was not used at all) to the interface routines to make responsibility of cut back control clear
PLEASE RUN setup_code.py IF YOU DO MARC SIMULATIONS, THE INTERFACE HAS CHANGED
2012-10-02 12:46:58 +00:00
Martin Diehl c8b7da432c set debug_level to be protected as it is read-only for other modules 2012-10-02 09:35:39 +00:00
Martin Diehl 4c7bcb8df9 modified formated integer output and added error number in case maximum number of cutbacks is reached 2012-10-02 09:30:13 +00:00
Franz Roters 9fc46b4950 added /echo/ statements 2012-10-02 08:12:53 +00:00
Christoph Kords b99a846503 new scaling feature in numerics (unitlength) did not scale the reference coordinates in the first place; now this is taken care of in mesh.f90, so scaling should work properly 2012-09-25 16:21:58 +00:00
Christoph Kords d0fd3c03c5 forgot to check in; belongs to rev 1762 2012-09-24 16:22:25 +00:00
Martin Diehl 912277d1ed substituted the call to the flush subroutine with the intrisic flush(6) function 2012-09-24 12:10:28 +00:00
Christoph Kords 8336d0705c new numerics parameter "unitlength" that scales the model size in DAMASK; this enables to use very small models in marc without getting any numerical problems for example with contact which does not seem to work when using very small numbers 2012-09-24 06:13:26 +00:00
Martin Diehl b587bffdd5 added some 'protected' statements to variables that shouldn't be changed by other modules 2012-09-22 16:49:41 +00:00
Krishna Komerla 8ed69170c5 corrected wrong warning complaining about FFTW string when DAMASK_NUM_THREADS undefined 2012-09-14 16:39:42 +00:00
Martin Diehl 1cfc467705 added new cut back parameter for spectral solver and instrumented variables for use with doxygen 2012-09-13 09:48:38 +00:00
Duancheng Ma b9a2890665 fixed bug in loadcase rotation: when not specifying "deg" the rotation was reset to 0,0,0..! 2012-09-06 14:05:28 +00:00
Christoph Kords 29023cea3c minor correction of debugging output 2012-09-05 11:19:46 +00:00
Pratheek Shanthraj 330d71864e fixed bug with stress BC handling 2012-09-05 08:30:15 +00:00
Christoph Kords f153866030 introduced factor to control edge contribution to multiplication;
dislocation density below a single dislocation per IP considered not significant
2012-09-04 16:56:37 +00:00
Martin Diehl 22812c9a91 some minor improvement on precision detection: checking only once (in prec and no longer in math and crystallite), added one more 4/8 switch for LAPACK, as there is no single precision FFTW, stopping compilation for spectral method if FLOAT=4
new function in IO to print integers without leading zeros, implemented it at some places in the new spectral solver (reporting still needs some serious polishing)
updated preprocessing for documentation to handle precision correctly
2012-08-30 20:26:28 +00:00
Martin Diehl 299d9e6bc4 fixed bug in seed initialization that didn't allow to redo calculations that started with a random seed. Now the whole random seed array is set to one value, previously only the first one was reported and the remaining ones were random
removed old random function used by halton
2012-08-30 14:58:30 +00:00
Christoph Kords d80b45c1d9 added relativistic correction of velocity (maximum velocity given by parameter in material.config); probability of thermal activation in velocity law not allowed to be greater than one.
output of creation rate for edge jogs now for own system, not collinear.
check for negative densities in dotState now uses absoluteToleranceRho instead of significantRho.
2012-08-30 07:33:13 +00:00
Martin Diehl 8e3b547cbd changed numerics.f90 back to the old openmp statement as this doesn't seem to cause the problem and is standard conforming
corrected typo in constitutive_j2.f90 that might cause abaqus to crash
now running 20 tests of abaqus in order to have a decent statistic about the crash behavior
improved abaqus_v6.env
2012-08-29 16:16:10 +00:00
Martin Diehl 84e3f94424 added flush for easier debugging 2012-08-29 15:23:43 +00:00
Martin Diehl d83150be1b now capturing "terminallyIll" for basic solution, should end in a automatic cutback of time steps for the spectral solver 2012-08-29 05:50:42 +00:00
Martin Diehl 3106b8ce0c corrected definition of integer type for gfortran 2012-08-29 05:19:35 +00:00
Martin Diehl d089c12947 abaqus seems to have similar problems with the openmp lib as marc (use module vs. include file), i hope this fixes the crashes 2012-08-28 19:48:38 +00:00
Martin Diehl 5e9e8497e6 new solver is now compiling without a PETSc installation, however only the plain basic solver is available then.
also removed reporting of PETSc related variables in the case it is not installed/found
2012-08-28 19:19:47 +00:00
Martin Diehl 0f64289d75 fixed bug causing trouble with ifort 11 (abaqus) 2012-08-28 19:10:54 +00:00
Martin Diehl 0959ff3299 substituted hand written matrix inversion by LAPACK version with precision selection.
also introduced check for inversion into DAMASK_spectral_Utilities.f90 for the stress BC calculation. This part is further improved by using 5% of the reference stiffness to avoid trouble in the fully plastic regime (where the stiffness is underestimated)

Test for Marc 2010 is updated because the new inversion give slightly different results near 0 (order of e-13)
2012-08-28 16:59:45 +00:00
Martin Diehl 73349d02f5 merged precision info into the file prec.f90 and removed prec_single.f90
precision information is now parsed as a makro, defined by the compiler, eg. -DFLOAT=8 for 8 byte long floats or -- in case no values is given -- for the FEM wrapper by the interface files.

Please don't forget to run setup_code.py  !!!!!!!!!!!

abaqus_v6.env is adjusted to specify the standard precision (float=8, int=4) and got some extra compilation options, some deprecated warning supressors are removed

Optional Marc modification will follow that allow automatic selection of suitable precision
2012-08-28 16:08:17 +00:00
Christoph Kords f3e7b3cec8 added separate output of dipole formation rate for edge and screw 2012-08-27 15:57:31 +00:00
Christoph Kords aa380dcb08 added separate output of dipole formation rate for edge and screw 2012-08-27 15:57:22 +00:00
Martin Diehl efd1b513cf fixed bug in divergenceFDM 2012-08-27 15:43:17 +00:00
Christoph Kords 9214da4465 added missing labels to list of available outputs 2012-08-27 12:41:57 +00:00
Martin Diehl 96ba5ecae4 moved some more 'mesh related' functions for post processing from math.f90 to mesh.f90
f2py functions remaining in math.f90 now uses assumed size arrays in order to have simpler interfaces. This is only working with python 2.7!
changed python pre- and postprocessing scripts.
If you encounter any problems whith core modules, try to remove the old core.so in the lib/damask
2012-08-27 08:04:47 +00:00
Martin Diehl 55a5112f36 added comments for doxygen documentation 2012-08-25 11:46:36 +00:00
Martin Diehl e335222bd0 added constitutive none to abaqus files 2012-08-24 19:21:39 +00:00
Martin Diehl 405c3765bd fixed bug in fiber texture component caused non-even distribution by correctly getting numbers of the halton sequence 2012-08-24 13:27:55 +00:00
Christoph Kords 3cd5fa90e8 corrected dislocation multiplication term for special case of zero density 2012-08-24 11:36:46 +00:00
Christoph Kords 4f67d04c69 new parameter "significantRho" for nonlocal constitutive law ; density below this value will hardly contribute to dislocation glide or any dislocation reaction ; old parameter "absoluteToleranceRho" is now used only for its initial purpose, namely the absolute tolerance in the state integration 2012-08-23 05:48:21 +00:00
Christoph Kords 222aed9f60 derivative of velocity with respect to resolved stress was flawed; now much better convergence of stress integration for nonlocal constitutive law 2012-08-21 14:40:01 +00:00
Christoph Kords ad7381cfdd maximum relative step length in stress integration cannot decrease below 1
intermediate tensor "A" is calculated only once before the Lp loop in "integrateStress"
2012-08-21 08:53:36 +00:00
Martin Diehl 35dffd52c1 now using spectral_quit (like old spectal solver, needed because of f2py) 2012-08-20 13:22:34 +00:00
Martin Diehl b96df9987e fixed reading/writing of integer arrays with function for real arrays 2012-08-16 14:55:23 +00:00
Martin Diehl 453c6031a7 added functions for reading values of integer data type to binary file, corrected comment on old versions which are for real (pReal) only 2012-08-16 11:57:15 +00:00
Christoph Kords b2aacf9ca4 rates in constitutive_results are taken directly from last converged step and not calculated again; added output of rates for annihilation of screws and deposition of edge jogs on collinear system 2012-08-16 11:03:22 +00:00
Christoph Kords bd754dbefd corrected debug output of evolution rates; added possibility to change the safety factor for the CFL flux condition via the material.config file; updated the example material.config due to recent changes in nonlocal constitutive 2012-08-16 09:13:38 +00:00
Martin Diehl 0434ef3daa some comments to be seen in documentation 2012-08-15 13:38:38 +00:00
Pratheek Shanthraj c2c31a0a59 added SolverBasicPETSC module to the new FFT solver (solves the basic scheme using PETSc when mysolver = basicpetsc in numerics.config)
some bug fixes
2012-08-14 16:58:23 +00:00
Christoph Kords f5e7d576f1 introduced annihilation of screw dipoles; so far no thermal activation, but immediate annihilation; each annihilated screw dipole leaves behind an edge jog of same length as the dipole height on the collinear system 2012-08-14 12:26:20 +00:00
Christoph Kords c1c5941733 stressAndItsTangent:
when winding forward to last substep in increment, also do the calculation if this substep is below "subStepMinCryst";
output of "wind forward" and "cutback" info only for crystallites that are still "todo"

integrateStress:
maximum component in Lp determines absolute convergence criterium:
aTol = max(maxLpComp * rTol_fromConfig , aTol_fromConfig)
this ensures that small values in Lp do not spoil the convergence, similar to the effect of the relevantStrain parameter before (not needed anymore in the stress integration)
2012-08-14 12:07:59 +00:00
Christoph Kords eae9a34c6b corrected debugging output: extreme values of returned stress and jacobian belong to cpfem debugging, not homogenization 2012-08-14 11:48:43 +00:00
Pratheek Shanthraj 259eb7850e more work on array ordering in new solver. (now working but not tested) 2012-08-10 17:01:58 +00:00
Martin Diehl cd0da03ebc changed comments to doxygen style 2012-08-10 15:58:17 +00:00
Krishna Komerla 08c7be7d15 adaptive regrid now working, updates F and F_lastInc based on mapping. 2012-08-10 15:48:27 +00:00
Martin Diehl b324a98014 changed order of most arrays to fortran-fast, whole new solver still work in progress 2012-08-09 13:04:56 +00:00
Martin Diehl fe4d4d9525 changed comments in prec and IO to be read by doxygen, fine tuned output of doxygen and added precompilation for documentation 2012-08-09 11:01:53 +00:00
Pratheek Shanthraj d0933dad7b added filter option to the spectral solver to mitigate spurious oscillations due to gibb's phenomenon. activate by setting myfilter in config file appropriately (currently only 'none' and 'cosine' options coded). more cleaning up of AL code 2012-08-07 17:23:13 +00:00
Pratheek Shanthraj 925915e30d some cleaning up 2012-08-07 12:02:57 +00:00
Pratheek Shanthraj 32f8c9c6ea moved petsc option string to numerics and added new numerics parameters to config file 2012-08-06 17:27:53 +00:00
Martin Diehl 93658c72db set auto values back to auto 2012-08-06 12:44:07 +00:00
Martin Diehl 7e3a837640 moved calculation and output of geometry related data to mesh.f90, moved output of command line related information to DAMASK_spectral_interface.f90.
improved new solver structure (use with make SOLVER=NEW)
2012-08-06 12:43:05 +00:00
Christoph Kords a48d180f8c allow prefactor for self-diffusion to be equal to zero 2012-08-06 09:03:33 +00:00
Pratheek Shanthraj e2a2621235 updates for AL version of spectral solver 2012-08-06 08:53:12 +00:00
Christoph Kords e8df3678aa added possibility to assign the transmissivity of grain boundaries a fixed value by use of the keyword "grainboundaryTransmissivity" in the material.config; grain boundaries are identified as interfaces between areas of different material_texture 2012-08-03 14:32:49 +00:00
Martin Diehl 948d9c03d0 new version of modular solver structure 2012-08-03 09:25:48 +00:00
Mahesh Balasubramaniam 3ffba037d4 Reading of euler angles from the loadcase corrected. 2012-08-02 17:52:07 +00:00
Mahesh Balasubramaniam 740357172a Reading of Euler angles from the loadcase corrected. 2012-08-02 17:46:50 +00:00
Martin Diehl ee1bde0cd7 enabling regridding more than once by introducing deallocation of arrays
added J2 test (stub from Taymour)
2012-07-31 15:37:49 +00:00
Martin Diehl 5a89c783d4 deallocating already allocated arrays in case of regridding/restarting (i.e. when calling init more than once) 2012-07-31 14:00:15 +00:00
Martin Diehl 991a7bbd2d reordered initialization for spectral method, corrected bug of deformation BC parsing when prescribing velocity gradient resulting in wrong average deformation 2012-07-30 15:51:48 +00:00
Martin Diehl d4163dd16f further work on modularization, basic scheme is now calculating the same results as DAMASK_spectral.f90 2012-07-30 14:06:22 +00:00
Pratheek Shanthraj c341ddd855 more modularization…. 2012-07-26 13:58:47 +00:00
Martin Diehl 4ed68bb4ae next round in modularization 2012-07-25 14:01:39 +00:00
Martin Diehl e1faad8bcf next round in modularizzation of solvers 2012-07-24 17:07:10 +00:00
Philip Eisenlohr 882c44a61d changed the majority of debugging output to level "extensive" 2012-07-24 15:29:23 +00:00
Christoph Kords 15c5131874 corrected formulation of maximum height of screw dislocation dipoles 2012-07-24 14:50:11 +00:00
Martin Diehl 9c0a161ec0 in case of regridding, undeformed configuration is written out correctly. Restart improve by reading in additional data from converged step. 2012-07-24 12:21:41 +00:00
Christoph Kords c4c00f04f4 no dipole formation by stress decrease;
dipole dissociation rate proportional to "deltaDipoleLimit / oldDipoleLimit", not "deltaDipoleLimit / newDipoleLimit"
2012-07-24 06:57:37 +00:00
Martin Diehl 3d59fec305 further modularisation of spectral solver (only for basic scheme so far) 2012-07-23 10:12:31 +00:00
Martin Diehl bd9e81fbec intermediate, not working state of new solver structure 2012-07-20 15:33:13 +00:00
Martin Diehl ad3f9d8050 removed old standalone AL solver and introduced new structure for solver zoo 2012-07-19 17:24:56 +00:00
Martin Diehl 7d4ff278cb worked on the restart capabilities 2012-07-19 14:16:59 +00:00
Martin Diehl 13caf2d389 made linear shape reconstruction working again, pretty similar results like corrected FFT reconstruction 2012-07-18 18:39:59 +00:00
Martin Diehl a22163c2ae reverted unwanted commit of Makefile 2012-07-18 12:34:46 +00:00
Martin Diehl 95d292b286 2012-07-18 12:31:07 +00:00
Philip Eisenlohr 7c6fc121fd condensed error reporting for constitutive_XYZ_init
removed erroneous check for structure>3
2012-07-17 17:36:24 +00:00
Philip Eisenlohr 0fdd43b54b minor clarification of file content and its use 2012-07-05 10:02:20 +00:00
Philip Eisenlohr 4d09ef0648 changed variable name "debug_what" to "debug_level" 2012-07-05 09:54:50 +00:00
Philip Eisenlohr b69f446caa added constitutive_none
added wrongly deleted "endif" statements
removed tmglib and refblas from linker command for lapack (Koen??)
xxxROOT is changed by setup_code unless commented-out... So had to delete '#' again.
2012-07-03 13:59:38 +00:00
Philip Eisenlohr aeb1e18268 passing of multiple make options possible now 2012-07-03 13:57:05 +00:00
Philip Eisenlohr 7f10ab0996 corrected to consistent naming: "IMKL"
restored xxxROOT to commented-out auto entries.
commented-out currently unused PETSC parts.
added "refblas" and "tmglib" to LAPACK library inclusion (seems to be necessary since 3.2.1).
2012-07-03 12:36:54 +00:00
Franz Roters 823013d485 new plasticity: none
see material.config for necessary parameters (lattice_structure, elastic constants)
2012-07-03 11:16:38 +00:00
Philip Eisenlohr b4103b205d parts of the material.config can now be set to echo their content back into the log-file (i.e. STDOUT / unit 6)
use keyword "/echo/" before first section in the respective parts that you want to see echoed back into the log file.
2012-06-26 10:24:54 +00:00
Martin Diehl 767842acbf now real time monitoring of DAMASK_spectral output to screen
working with GNU Fortran as well (new checking for return code)
2012-06-25 09:03:19 +00:00
Martin Diehl 0606845f15 reordered calculation of current stiffness to enable restarting with different resolution 2012-06-22 09:20:23 +00:00
Martin Diehl bd462d12c6 fixed some bugs in the regridding routine 2012-06-20 18:33:20 +00:00
Martin Diehl d650972904 corrected some bugs concerning the regridding
prevented FEsolving from potentially write to a none existing file
started to introduce petsc into the make chain (nothing happens if PETSC_DIR is not set)
2012-06-20 12:49:46 +00:00
Nan Jia f5eb8fcb25 fixed bug caused by the inconsistent sequence of slip and twin systems 2012-06-19 16:06:25 +00:00
Martin Diehl 481268c8c2 fixed closing of file (unit 222) statement in FEsolving.f90
added missing keyword in mesh.f90 with ifndef Spectral statement (needed for Marc and Abaqus)
2012-06-19 14:33:24 +00:00
Krishna Komerla 06be437bc9 added minRes to regridding function and writing out of new geometry file
updated f2py wrapper to enable the use of init functions.
added 2 new error messages to io
2012-06-19 13:31:15 +00:00
Martin Diehl 8537e87b7e added shell scripts to run tests from crontab, improved numbering in spectral compile tests and added some first files for testing restart capabilities of spectral solver.
added configuration file for generation of code documentation using doxygen
restart of spectral solver is fixed and seem to work now also for restart at significant deformation.
spectral solver now gives exit code 2 if some increments did not converge
2012-06-18 15:27:01 +00:00
Philip Eisenlohr d9c6f9e134 switch on restartRead logical when requested by "--restart" cmdline switch 2012-06-18 09:27:36 +00:00
Franz Roters 380f40561b first calculation of Tstar still used hard coded Hooke, now usese constitutive_TandItsTangent(...) 2012-06-18 07:26:34 +00:00
Martin Diehl b2fd3e1180 introduced preprocessor identifiers Marc, Abaqus, and Spectral to enable conditional compilation. This allows deleted dummy functions that are used by one solver only.
Mainly affected modules are IO and mesh. Most of the changes in mesh result from reordering the functions when grouping them depending on their solver.
Further advantage is that FE solver do not need FFTW and kdtree2 anymore. The include files for these two libraries moved to DAMASKROO/lib now as I figured out how to use a include path in the Makefile.
Put all the files I got when testing compilation with abaqus in a folder which to become the abaqus compilation test.
2012-06-15 16:10:21 +00:00
Martin Diehl eb39d332bd ULTRA OPTIMIZATION wasnt working anymore, seems to be related to Bertholds update of ws12 and ws13. had to remove -static from optimization string to be able to link again. Added some support for IKLM, but this didn't solve the problem 2012-06-13 17:19:16 +00:00
Martin Diehl 3ef17c208b set default lapack to lapack instead of acml, added definition of makro for spectral solver for later use in preprocessor 2012-06-13 13:45:58 +00:00
Martin Diehl 052b526bde made compilation of spectral code a command line switch and removed interactive question 2012-06-13 13:42:00 +00:00
Franz Roters 7754416b35 now both getSolverJobName and getSolverWorkingDirectoryName use unit 5! 2012-06-13 09:58:06 +00:00
Franz Roters d3d0cfdab1 common blocks from 2012
updated setup to also create DAMASK_marc2012.f90
2012-06-13 07:30:27 +00:00
Franz Roters a5c27f22ca now uses unit 5 for file name inquiery (unit 6 points to stdout in 2012, might be a bug though) 2012-06-13 07:28:43 +00:00
Franz Roters 5b7f2e122e fixed usage of OpenMP function library 2012-06-12 09:44:05 +00:00
Christoph Kords fc7b4d6471 new function stateJump, which takes care of immediate changes in the state (deltaState); this introduces discontinuities in the state evolution; therefore this is always and only once done after each integration step, so no evaluation of deltaState for intermediate steps of e.g. the Runge-Kutta integrator; otherwise integration becomes a pain without significant gain in accuracy
deltaState now successfully tested for nonlocal model; was not correct for integrators 1,4,5 before
2012-06-06 15:11:30 +00:00
Martin Diehl fa7f9866df removed phase contrast/preconditioning
added information on itmin in output, impoved output
set exit code to 0 on successful termination (seems to be unix standard)
exit codes:
0: successful termination
1: error (using IO_error)
2: require regrid 
updated the AL solver, still VERY experimental
2012-06-05 16:34:20 +00:00
Martin Diehl 4b6800b89a removed some unwanted open statements when writing out the sizeState 2012-06-05 13:13:33 +00:00
Franz Roters 01522cf6f2 check for valid elasticity model
improved error message in case of unknown elaticity/plasticity model
2012-06-02 14:23:28 +00:00
Nan Jia 3af9165b08 useless debugging inforomation (asking for elastic moduli output) is removed 2012-05-31 09:25:04 +00:00
Christoph Kords 145d971d7e added some debug output 2012-05-30 08:05:36 +00:00
Christoph Kords 5cc73a15a9 small correction in debug output 2012-05-30 07:41:22 +00:00
Martin Diehl 0127828f70 corrected initialization order 2012-05-29 15:08:18 +00:00
Taymor El Achkar e1c5671e1f relaxed error message triggering such that purely elastic calculations and more than one constitutive instance using hex lattice are possible. no twinning possible if no slip system exists 2012-05-24 14:08:48 +00:00
Martin Diehl 1003cfa7f8 added missing space in makefile, made removing of old files in Makefile silent and updated files for tests to current versions 2012-05-23 18:08:34 +00:00
Philip Eisenlohr c607441717 (likely) fixed a bug in the FFT-based geometry reconstruction. For (hopefully) correct math see Appendix B in paper. 2012-05-22 18:35:15 +00:00
Nan Jia bbf790a0a5 Input parameter 'QedgePerSbSystem' which denotes activation energy for each shear band system is added 2012-05-22 16:10:28 +00:00
Franz Roters 9201133913 activated keyword expansion 2012-05-22 12:45:37 +00:00
Martin Diehl cec3357e8f corrected bug causing wrong element construction when using spectral solver. Also improved error messages for invalid resolution, dimension, and homogenization. 2012-05-21 09:06:02 +00:00
Christoph Kords 20f203f799 allow minimum stable dipole height equal to zero; ensure that maximum stable dipole height is not smaller than the minimum value 2012-05-20 13:57:35 +00:00
Christoph Kords 5b02d4e8eb dipole dissociation and formation by change in stress as new mechanism in deltaState; had to add dipole height to state variables, which is however updated by deltaState instead of microstructure; alternatively microstructure had to know the current stress state 2012-05-18 14:35:52 +00:00
Christoph Kords 4da6907648 moved remobilization of dead dislocations from dotState to deltaState 2012-05-18 13:35:44 +00:00
Christoph Kords a5c1624648 check for invalid mesh type once in constitutive_init and not every time constitutive_nonlocal_dotState is called 2012-05-18 13:15:23 +00:00
Christoph Kords 8c849d62ee small corrections for how to treat the new deltaState in FPI and euler integration; all integrators successfully tested with j2 2012-05-18 13:00:15 +00:00
Christoph Kords abbae76c51 instantaneous jumps in the state by constitutive_deltaState are now incorporated for all state integrators. still they (should) not influence the result, since all constitutive laws simply return zero for the deltaState 2012-05-17 15:25:21 +00:00
Christoph Kords 351c2c6e65 deltaState depends on the current state, no the state at the beginning of the timestep 2012-05-17 12:18:30 +00:00
Christoph Kords f6d5efeed3 removed arguments Fe and Fp from collectDeltaState function call 2012-05-17 11:04:22 +00:00
Christoph Kords a54439e3b5 dotState does not have to be reset to zero. this is a remnant from older versions when the dotState for the nonlocal model used to be updated by the neighboring integration point 2012-05-16 15:35:14 +00:00
Christoph Kords 84d4652a07 all constitutive modules now contain a new function "deltaState", which in the future allows to have an instantaneous and incremental change of the state (additional to the rate based evolution with dotState). 2012-05-16 14:43:26 +00:00
Franz Roters df2d520630 stripping abaqus comments is now aware of damask comments 2012-05-15 14:59:26 +00:00
Franz Roters 701cf2e71b replaced duplicated math entry by missing mesh entry 2012-05-15 14:58:47 +00:00
Martin Diehl 0d745adfa0 corrected NaN in prec_single.f90 (was already silent but with typo), polished output and added switch in order to check range on all files except of prec.f90 (in which NaN is defined) 2012-05-11 12:46:17 +00:00
Franz Roters 7ee368f324 check whether there is any constitutive output 2012-05-11 07:38:20 +00:00
Franz Roters f8f9c089d6 check for NaN in math_QuaternionInSST 2012-05-11 07:37:32 +00:00
Franz Roters babf2647fb use non signaling version of NaN 2012-05-11 07:35:52 +00:00
Martin Diehl ce83026965 corrected bug in fft based geometry reconstruction causing mirrored geometries 2012-05-09 14:56:25 +00:00
Taymor El Achkar d11aa15a67 changed indices counting (fortran to python style, easier division to get rid of periodic copies)
corrected f2py pyf file
2012-05-09 10:09:56 +00:00
Krishna Komerla fbd075dc6e corrected automatic determination of resolution 2012-05-08 15:12:43 +00:00
Krishna Komerla c752dd5474 regridding is now working, changed the subroutine into a function
changed order of arrays in nearest neighbor search to make it fortran fast
constitutive.f90 and homogenization.f90 write state size out during initialization
setup/setup_processing.py is using byterecl to be compatible with binary files written out by solver
2012-05-08 14:57:06 +00:00
Taymor El Achkar a9a72cee97 fixed bug in nearest neighbor search, corrected error message for kdtree2.f90 2012-05-08 13:16:59 +00:00
Franz Roters eb8265b914 fixed potential division by zero error discovered by our American friends 2012-05-08 07:16:00 +00:00
Pratheek Shanthraj bdc46a8828 using better measure (norm) of phase contrast for preconditioning 2012-05-07 08:12:13 +00:00
Krishna Komerla 4b18278781 reworked neares neigbor search subroutine, now also works for voronoi tesselation (general nn search in periodic cell) 2012-05-04 13:07:37 +00:00
Martin Diehl 863f0c766e removed line continuation causing trouble 2012-05-04 08:19:12 +00:00
Martin Diehl b4775249e8 corrected standard check to make f2py working with gfortran 2012-05-03 17:12:36 +00:00
Martin Diehl 26c6063a2c utf8 encoding output to screen now for all solvers using intel ifort>10 or any gfortran (old versions might not support it, but we don't use them anyway) 2012-04-28 10:46:41 +00:00
Philip Eisenlohr dbeac18df6 no more dropping of comments in Abaqus input file assembly 2012-04-27 14:33:39 +00:00
Krishna Komerla 83e89fba3c improved regridding, especially interfacing to python (also for nearest neighbor search) 2012-04-24 17:02:27 +00:00
Krishna Komerla e33c34d86b corrected wrong integer arithmetics in calculation of coordinates in DAMASK_spectral.f90 2012-04-24 16:59:38 +00:00
Philip Eisenlohr 83e22c00a2 added missing allocation of slopeLnRate array.
changed parsing to lowercase name.
2012-04-20 12:18:38 +00:00
Martin Diehl d2c4874db3 several small corrections/polishing 2012-04-20 11:58:41 +00:00
Pratheek Shanthraj c889d20ba0 added simple preconditioning to improve convergence for high phase contrast materials in standard algorithm 2012-04-20 09:42:57 +00:00
Philip Eisenlohr caff3124fd changed multiplier keyword from "times" to "copies of" to prevent ambiguity. 2012-04-17 10:05:49 +00:00
Philip Eisenlohr dbc5a3a3ce subnodeparent check is now running only over actual number (not max) of parent nodes... 2012-04-17 09:19:44 +00:00
Martin Diehl f905a97cdf fixed bug (causing sigsev) concerning new functions mesh_spectral_get*** 2012-04-12 08:03:08 +00:00
Martin Diehl 8c559cbdc9 fixed bug concerning file handling. 2012-04-11 18:46:36 +00:00
Martin Diehl 37fa6c2e14 merged code for python and spectral solver interfacing (shared most of it anyway).
put functionality for getting header information (dimension, homogenization, resolution) in functions in mesh.f90
2012-04-11 17:28:08 +00:00
Martin Diehl a18e5e48dc added 'times' keyword in function for continuous int values: "4 times 1 => 1 1 1 1", mainly for geom files of spectral solver.
corrected name for contin"U"ousIntValues functions
2012-04-11 17:24:50 +00:00
Martin Diehl 91cfd21c88 corrected some copy and paste errors 2012-04-11 14:12:30 +00:00
Martin Diehl 9a92d343dc added Onurs modified description for tausat in j2 law.
Polishing phenopowerlaw
2012-04-11 14:01:02 +00:00
Martin Diehl f2da887899 added missing ":" in mesh.f90, introduced absolute stress tolerance for spectral solver in numerics.config/numerics.f90 2012-04-11 12:57:25 +00:00
Krishna Komerla f20cecd421 integrated subroutine for regridding into mesh.f90 and made it available for python 2012-04-10 15:15:46 +00:00
Krishna Komerla d638c563af reworked python - fortran interfacing 2012-04-10 13:30:34 +00:00
Martin Diehl b17740c9c3 corrected misplaced line for linear guessing 2012-04-06 14:23:06 +00:00
Christoph Kords 79592d2f0f get debug info for spectral solver as well 2012-04-05 09:17:09 +00:00
Martin Diehl 990f547091 improved AL solver, now using guesses for P(x) to improve performance. Changes (and whole solver) still experimental 2012-03-31 12:41:46 +00:00
Christoph Kords 91a70b0fb3 before turning terminally ill report at which g,i,e crystallite did not converge 2012-03-30 13:16:45 +00:00
Martin Diehl c29ae95af7 new version of AL spectral solver (seems to work, but still experimental)
new concept of DAMASK for Python: Now using also IO.f90, debug.f90 etc. instead of mimicing their necessary function. This needs DAMASK_python.f90 and DAMASK_python_interface.f90 (At the moment more or less copies of respective spectral files).
polished and renamed the scripts for converging ang files
renamed voronoi_randomSeeding.py to spectral_randomSeeding.py
2012-03-29 19:54:31 +00:00
Martin Diehl 17826d7c98 now initializing planner flag for fftw with useful value even if init wasn't executed 2012-03-26 10:03:39 +00:00
Franz Roters 7947ae36b3 changed default value of err_div_tol 2012-03-22 10:33:54 +00:00
Franz Roters 00de182873 corrected if statement to check assembly of input files 2012-03-22 07:44:46 +00:00
Martin Diehl 44d8282863 corrected reading in of ABAQUS debug modes and made numbering scheme for debugging depending on variables hoping to prevent these errors in debug.f90
Put all (now public) logicals in FEsolving.f90 again into one specification statement
2012-03-21 18:04:52 +00:00
Martin Diehl 15dd860de9 new switch "SOLVER", set it to SOLVER=AL to compile the Augmented Lagrange version of the spectral solver 2012-03-21 18:01:25 +00:00
Pratheek Shanthraj 131c9ac93e dPdF calculations made consistent with constitutive_TandItsTangent 2012-03-21 15:00:36 +00:00
Franz Roters 8a2f2c5a95 stress iteration loop now uses generalized elasticity by calling TandItsTangent
the anlalytical tangent calculation should now be adopted to also use TandItsTangent
2012-03-21 10:57:27 +00:00
Franz Roters 8d8a8103eb lastIncConverged, outdatedByNewInc, and cutBack need to be public as well!
please keep in mind the FEM interfaces which also need to work!!!
2012-03-21 07:51:07 +00:00
Martin Diehl dbdc7ddfa2 debug.config, debug.f90, DAMASK_abaqus_exp.f, DAMASK_abaqus_std.f: changed to new debug scheme (wasn't working)
lattice.f90, FEsolving.f90: explicitly defined public functions and variables, all others are now private
numerics.f90: changed output format of real numbers, now instead of 0.1eX 1.0e(X-1) is printed to screen
Makefile: now using correct Optimization flags for OPTIMIZATION=AGGRESSIVE
DAMASK_spectral_AL.f90: improved, but still testing. Stress BCs now seem to be handled correctly
2012-03-20 18:01:31 +00:00
Martin Diehl 04d83ec9cd added "-assume byterecl" in Makefile for ifortran to specify with "recl=" the size of the file in bytes instead of 4byte chunk when opening files. (same as in gfortran per default).
no important changes in other files
2012-03-20 12:26:21 +00:00
Philip Eisenlohr 012d568cf8 slightly restructured divergence debug output 2012-03-19 16:41:55 +00:00
Martin Diehl 632d57cc31 corrected div calculation regarding dimension and resolution 2012-03-19 13:19:15 +00:00
Christoph Kords 5263366615 adding switch in material.config for short range stress correction 2012-03-15 14:58:12 +00:00
Christoph Kords 7330031579 corrected special treatment of periodic images in calculation of stress correction 2012-03-15 10:08:08 +00:00
Philip Eisenlohr d4463fe56a shifted location of elasticity part closer to plasticity... (constitutive has been shaken back and forth quite a bit today ;-] ) 2012-03-15 09:51:33 +00:00
Christoph Kords ea634d978a adapted comments to recent change 2012-03-15 09:47:32 +00:00
Franz Roters b7fc4fe6e4 fixed one last typo, now it finally compiles, sorry for this! 2012-03-15 09:42:33 +00:00
Franz Roters 4d90d90886 last comment also holds for this one 2012-03-15 09:25:15 +00:00
Franz Roters 70a44fbbdd constitutive models need to skip new keyword elasticity when reading their arameters 2012-03-15 09:22:24 +00:00
Christoph Kords 503f6ed040 i think it's elasticity not elaticity, right? 2012-03-15 08:46:51 +00:00
Franz Roters 36edb4dd9f introduced keyword elasticity in material.config
added constitutive_TandItsTangent and special version constitutive_hooke_TandItsTangent
those are however not yet used and need to be tested
2012-03-14 16:16:11 +00:00
Christoph Kords 9cbbb7cab5 Dead dislocations are treated the same as mobile dislocations for the flux part though they do not contribute to slip. By that the pileup of dead dislocations is able to diminish with time (kinetics are the same as for the glide part; this is not correct but gives valuable results). Also remobilization of dead dislocations at neighbor is taken into account for flux. 2012-03-14 15:32:50 +00:00
Christoph Kords 6bca2150f2 local stress correction of gradient in dead dislocations and neighboring excess density is additive 2012-03-14 15:24:19 +00:00
Christoph Kords 06c93435f2 viscosity term in kinetics law proportional to resolvedstress minus forest term 2012-03-14 15:18:36 +00:00
Pratheek Shanthraj c2f5cebacb simplified analytic jacobian calculation. removed Lpfrac, time_sensitive. introduced rate_sensitivity flag when calling crystallite_stressAndItsTangent that is currently set to .false. and is to be set according to which dPdF the FE solver is asking for 2012-03-14 13:56:50 +00:00
Christoph Kords 2b5ed4ab93 corrected name of makefile (first letter upper case) 2012-03-14 11:58:05 +00:00
Christoph Kords d2652cae47 multiplication only controlled by screws 2012-03-13 14:19:36 +00:00
Franz Roters 433d8a338c missed several occurences of constitution 2012-03-12 14:43:19 +00:00
Franz Roters c9ed989dad replaced keyword constitution with plasticity in preparation of upcomming generalized elasticity 2012-03-12 14:09:37 +00:00
Martin Diehl efd653fb00 removed old *.output* and *.spectralOut as they are not updated anyway from reference.
introduced a numbering scheme for variants
calculated new reference results due to slight changes
2012-03-09 16:30:42 +00:00
Martin Diehl ac5dd14c5f removed some small bugs in IO.f90 (related to initialization of variables)
DAMASK_spectral.f90 adopted to new debug scheme, substituted print with write statements
2012-03-09 15:22:52 +00:00
Martin Diehl bd9667bd4b added new, flexible debugging scheme.
now all modules have their own debug specification.
compiles and runs, I hope nothing is broken
did a lot of polishing
2012-03-08 20:25:28 +00:00
Martin Diehl dec9451b1e first draft of the Augmented Lagrangian based algorithm, still experimental 2012-03-07 17:37:40 +00:00
Martin Diehl 2a7888c7e1 removed (in IO.f90) a dangerous initialization statement.
Please read http://www.cs.rpi.edu/~szymansk/OOF90/bugs.html#4
for more details.

Other files are just a little bit polished
2012-03-07 10:07:29 +00:00
Martin Diehl d00c3c9e19 added error for to IO to substitute stop statement in kdtree2
explicitly defined all functions in as either public or private in the modules to have a quick overview on all functions and parameters that are available
2012-03-06 14:52:48 +00:00
Pratheek Shanthraj 17e9698659 added time_sensitive flag to ignore or add time sensitive component to analytic jacobian (should be close to perturbed jacobian when ignored)
now uses sub_dt for analytic jacobian calculations
bug fixes
2012-03-01 19:42:43 +00:00
Martin Diehl df03dee91c improved readability, removed archive statements. With new option FASTBUILD=YES build without any warnings etc 2012-03-01 19:34:42 +00:00
Nan Jia 211f66a728 added elastic stiffness matrix as crystallite output 2012-03-01 13:06:09 +00:00
Pratheek Shanthraj 040e244993 Added stress-order terms to analytic stiffness 2012-02-27 17:40:28 +00:00
Pratheek Shanthraj 99d6dcecb5 fixed bug in calculation of analytic jacobian (should work much better now). parallelized analytic jacobian calculation loop 2012-02-24 14:07:46 +00:00
Martin Diehl f2ee67d03d disabled multi file optimization when setting OPTIMIZATION=OFF and improved comments on compiler switches 2012-02-24 13:38:15 +00:00
Franz Roters 1042ac018f output values used for Lp_frac and analyticJaco
improved comment for Lp_frac on numerics.config
2012-02-24 08:21:18 +00:00
Martin Diehl 478a6d110c mixed things up, did not want to commit constitutive_nonlocal.f90 but rather DAMASK_spectral.f90!!!!
did a lot of polishing on constitutive_nonlocal.f90 (mostly checked in at last commit), for changes on DAMASK_spectral.f90 see previous message
2012-02-23 17:20:57 +00:00
Martin Diehl a98832100f introduced itmin parameter for spectral code for defining minimum number of cycles
removed simplified_algorthim flag because the basic scheme using the polarization field will not be implemented
introduced divergence_correction flag for making divergence criterion resolution-independent (still experimental and not set by default)
corrected output and restart frequency (now modulo on incs of current load case)
2012-02-23 16:43:17 +00:00
Franz Roters 989a2b2d39 added default entries for Lp_frac and analyticJaco 2012-02-23 10:53:15 +00:00
Pratheek Shanthraj 28d654d61e forgot to remove some print statements in previous commit 2012-02-22 20:22:54 +00:00
Pratheek Shanthraj b9a82156c9 crystallite.f90: can now calculate analytic jacobian by setting analyticJaco = 1 in numerics.config
math.f90: added math_mul3333xx3333…

numerics.f90: to read in analyticJaco and Lp_frac
2012-02-22 20:11:09 +00:00
Christoph Kords 9bf5b9dc86 dotState=NaN enforces cutback, if evolution rates lead to negative densities 2012-02-22 16:08:22 +00:00
Martin Diehl 21db79ce25 automated copyright information seems to be very complicated, not working yet 2012-02-22 14:06:28 +00:00
Martin Diehl e25f605838 still trying to add copyright information by keyword via svn 2012-02-22 13:56:03 +00:00
Martin Diehl 20fdd302d7 trying to add copyright information by keyword via svn 2012-02-22 13:47:39 +00:00
Martin Diehl ca401292e7 2012-02-22 13:46:33 +00:00
Martin Diehl ca59c9936f trying to add copyright information by keyword via svn 2012-02-22 13:43:35 +00:00
Martin Diehl b0e2707a94 trying to add copyright information by keyword via svn 2012-02-22 13:40:03 +00:00
Martin Diehl d68a3d1869 added LF=UNIX to a bunch of files 2012-02-22 13:30:00 +00:00
Martin Diehl d8ffc29236 again: adding pInt, removing redundant use statments, chang in dble to real(,pReal) 2012-02-21 16:31:37 +00:00
Martin Diehl 9dc730dea4 now getting path separator by counting slashes and backslashes in $PATH environment variable 2012-02-21 16:04:16 +00:00
Martin Diehl 79663a7f76 polishing: adding pInt, removing unused use-statements etc 2012-02-21 16:00:00 +00:00
Martin Diehl 23cda48709 cleaning up, removing includes not needed 2012-02-21 15:42:47 +00:00
Martin Diehl 87a83d82b7 changed assumed arrays (:) to properly defined ones (gfortran 4.7 was complaining) and remove use statements that are not needed 2012-02-21 15:39:36 +00:00
Christoph Kords 8dc6e256c0 choose textures and phases of example materials according to what the labels suggest 2012-02-21 13:16:59 +00:00
Christoph Kords 97b2240fe9 take absolute dislocation velocities when testing Courant-Friedrichs-Lewy condition 2012-02-21 13:11:47 +00:00
Martin Diehl 6c0f9d163b polishing: removed variable names like 'unit' and 'data' that are keywords of fortran and ensured that integer and real precision matches independent of machine standard.
removed cut_off parameter for damask_spectral
removed outpot of derived divergence measures and added RMS output in brackets
added comments and options to the makefile
2012-02-15 18:58:38 +00:00
Nan Jia db06c797cd store number of outputs for each instance of the constitution in constitutive_[j2/titanmod/...]_Nouput and use this value to loop over all valid outputs when determining the size of the outputs array 2012-02-14 15:19:59 +00:00
Martin Diehl 49a964aeda removed public statement in derived data type causing trouble on older compilers 2012-02-14 13:56:35 +00:00
Martin Diehl 8f22d5a324 corrected geometry reconstruction (fluctuations were scaled wrong) and translated some comments from german to english 2012-02-14 13:43:36 +00:00
Martin Diehl d9522bf588 minor changes, substituting implicit type conversions with explicit ones 2012-02-14 12:17:47 +00:00
Christoph Kords 30c55c3142 added check for unknown keywords again (in agreement with Philip ;-)
indeed 'constitution' and '/nonlocal/' are the only keywords which have to be ignored, since they are parsed elsewhere
2012-02-14 09:22:37 +00:00
Philip Eisenlohr 9b73cb3c65 removed parameter check complaining about unknown keyword as default case. there are just too many keywords that do not trigger a variable assignment to cope with them (e.g. /nonlocal/, constitution, etc.)
I suggest to kill similar logic from other files if present somewhere...
2012-02-13 23:30:59 +00:00
Christoph Kords c786336af3 reordered (and partly redistributed) error message identifiers, deleted those which are not in use anymore.
all constitutive as well numerics now raises an error, if an unknown keyword is found in the respective config file
2012-02-13 17:41:27 +00:00
Martin Diehl dd51e1da81 changed calculation of gamma_hat back to (working, but theoretically wrong) order 2012-02-13 17:15:02 +00:00
Krishna Komerla 94100e8d8e missing line break 2012-02-13 15:21:03 +00:00
Martin Diehl 156ec4582a polishing, adding _pInt etc. where applicable
post_results now handels zero increment different (like FEM, it is always there even if it is not counted)
2012-02-13 14:18:07 +00:00
Martin Diehl f03e7c459c small polishing, exchanged stops in math.f90 with calls to IO_error 2012-02-13 14:08:07 +00:00
Martin Diehl a6864bf599 added missing 'dotF' 2012-02-13 12:41:44 +00:00
Martin Diehl df07299f78 fixed bug concerning calculation of gamma operator and improved output to screen 2012-02-13 12:38:46 +00:00
Philip Eisenlohr fa32a00d56 changed symmetryID initialization to integer (instead of float) value 2012-02-10 17:46:43 +00:00
Philip Eisenlohr b211c13487 added "dotF" synonym to load case parsing. 2012-02-10 17:45:45 +00:00
Martin Diehl 1cc2315954 restructured algorithm, initialization now not longer within increments, lot of small improvements/polishing
makefile now calls compiler with lot of warning flags
2012-02-10 11:59:59 +00:00
Martin Diehl 37ac7bf1b4 fixing inconsistencies in variable assignments 2012-02-10 11:56:05 +00:00
Martin Diehl cff66b5cc3 removed implicit type castings 2012-02-10 11:24:53 +00:00
Christoph Kords 26b4f886ba whoops, accidentally removed _pInt in the IO_error calls which where previously added by Martin 2012-02-10 07:58:33 +00:00
Christoph Kords ff53b9754b somewhat better readable format without as much linebreaks 2012-02-10 07:50:29 +00:00
Martin Diehl 7a23833a39 removed line>132 characters, added _pInt when calling IO_error 2012-02-09 17:28:55 +00:00
Martin Diehl 0e2894f2b1 corrected handling of highest frequencies, polished and checked for standard compliance 2012-02-09 15:58:15 +00:00
Martin Diehl 724ec040a2 added pInts and pReals 2012-02-09 15:55:04 +00:00
Philip Eisenlohr dced3f9430 changed FFT reporting of dimension and resolution to one line each. 2012-02-09 13:18:59 +00:00
Martin Diehl 195491aaaa added missing pInts 2012-02-09 12:35:55 +00:00
Martin Diehl a26456f9c0 now handling capitals in restart argument correctly 2012-02-09 12:20:14 +00:00
Christoph Kords e7d407c2f6 crystallite_Fp has to be initialized in crystallite_init, cause it is used by constitutive_microstructure 2012-02-03 14:52:09 +00:00
Christoph Kords 5ddade27fc changed Peierls stress to more realistic values for fcc 2012-02-03 13:12:45 +00:00
Christoph Kords d62eddc0cd corrected kinetics law and changed parameters. For solid solution hardening there are 3 parameters: the activation energy, the concentration of obstacles that determines the activation length and meanfreepath, and the obstacle size that determines the activation volume. For the Peierls mechanism there is: the width of doublekinks that determines the activation volume and the Peierls stress for edge and screw.
Still testing needed to check whether the current formulation makes sense or not.
2012-02-03 12:50:54 +00:00
Christoph Kords bbf4f25898 renamed subroutine "mesh_marc_get_mpieOptions" to "mesh_get_damaskOptions" which is now also used for abaqus and spectral input files. The only available option so far is "periodic", which allows for periodic fluxes in the specified direction. Examples for usage (add the following lines to the respective input file, in case of spectral file this goes into the header):
- periodicity in x and z direction for marc:
   $damask periodic x z  
- periodicity in y direction for abaqus:
   **damask periodic y
- periodicity in x and y direction for spectral:
   periodic y x
2012-02-03 12:37:52 +00:00
Krishna Komerla 7e23f84d2c new subroutine find_nearest_neigbor, basically a wrapper function for our purpose to kdtree2
split up kdtree2.f90 again from math.f90 to make the files better accessible
2012-02-02 15:57:22 +00:00
Martin Diehl 72aeb2113a minor improvement on the still not working long (polarization field based) algorithm 2012-02-02 13:20:09 +00:00
Martin Diehl faed4ec232 added deallocation of arrays (fftw_free) 2012-02-02 13:19:35 +00:00
Martin Diehl 2e4f2f3d9c added _pInt where appropriate 2012-02-02 13:19:02 +00:00
Martin Diehl 683384681a doing average correction now in Fourier space, now sure that the constant term is correct.
changed order of stress BC calculation/spectral method to avoid average calculation of stress in real space
2012-02-01 20:30:27 +00:00
Martin Diehl c6fb2122be added some comments for further debuggin/compliance with standard checking 2012-02-01 20:28:58 +00:00
Martin Diehl c5128e94eb some f2008 standard related correction i didn't check in last time 2012-02-01 20:20:05 +00:00
Martin Diehl 800e291240 made code standard conform to Fortran 2008 (ignoring warning concerning comments beyond character 132). Basically, changing "x" format specifier to "Nx" ("1x") plus removing $ format specifier
added compiler switches for gfortran and ifort to check for standard conformity
old gnu compilers <4.4 are not longer supported because they don't provide the c binding for fftw
2012-01-31 19:18:55 +00:00
Martin Diehl 80583fefb5 added compilation_info.f90, to store compilation date,time and compiler info in each file
added #include statement at each init() routine
2012-01-31 14:54:49 +00:00
Martin Diehl 8cf67e1be6 corrected weighting of difference divergence measures, added some additional output and introduced exit code 0 for successful termination. 2012-01-30 20:25:04 +00:00
Martin Diehl 9464937db7 merge declaration and initialization with standard values
corrected handling of $DAMASK_NUM_THREADS
2012-01-30 20:16:19 +00:00
Martin Diehl eeda357710 N^2 initialization loop (former spectralPictureMode) rewritten in material.f90
additional output in DAMASK_spectral_interface.f90 
132 character cut off in constitutive_nonlocal.f90
rounding error in math.f90 complex number initialization (1.0_pReal)*2.0_pReal*pi
new $DAMASK_NUM_THREADS warning in numerics.f90 / IO.f90
polishing in DAMASK_spectral.f90
2012-01-30 13:52:41 +00:00
Christoph Kords 4edd824d8c forgot homogenization.f90 in last commit 2012-01-26 13:51:01 +00:00
Christoph Kords 1330576a01 added new math function "math_deviatoric33" which returns the deviatoric part of a 3x3 tensor
renamed some math functions, so that we have a universal naming scheme: for matrix multiplications use an "x" (e.g. math_mul33x3); don't use the "x" to describe the shape of the tensor that the function is applied to (e.g. math_invert33 instead of math_invert3x3)
2012-01-26 13:50:00 +00:00
Christoph Kords df931890e0 corrected typos 2012-01-26 12:50:04 +00:00
Christoph Kords 6fec57bbd7 replaced variable fraction by "timefraction" 2012-01-26 12:48:59 +00:00
Christoph Kords 5a658d1b82 dislocation velocity output for each dislocation type (edge+,edge-,screw+,screw-)
for fcc constitutive_nonlocal_kinetics is called only once and the result is used for each dislocation type, for all other lattice structures we have one call for each dislocation type
2012-01-26 07:43:36 +00:00
Christoph Kords e5407894b5 Reworked kinetics. Now there is a universal law which can be used for both fcc and bcc (and probably even hcp). It mainly consists of an athermal forest cutting part , solid solution and peierls as thermally activated processes, and viscous glide. Therefore, lots of new parameters in the material.config. Not sure yet if the values make sense though.
Also renamed some of the old parameters. 

Unknown constitutive output raises error.
2012-01-25 17:04:37 +00:00
Martin Diehl e6495c986b corrected order of arguments for calling functions from python, small polishing in math.f90 (substituting manual summation by sum() ) 2012-01-25 14:31:21 +00:00
Martin Diehl fa372523a8 added and restructured comments
debugGeneral = .true. now enables the additional output
restructured the debug options
started to implement the long algorithm (with fluctuation field), not working at the moment, can be enabled via simplified_algorithm <1 in numerics.config
corrected calculation of RMS of divergence, now measures in real and fourier space match
2012-01-25 14:27:26 +00:00
Martin Diehl 884249aba8 removed hint how to patch fftw, added flag for gfortran to check if maximum length of source files do not exceed 132 characters 2012-01-25 14:24:08 +00:00
Martin Diehl bd48620de2 improved Curl_fft, corrected Divergence_fft and added math_skew3x3 2012-01-25 10:30:39 +00:00
Martin Diehl e7ac99eeca for spectral solver, --restart XX sets restartReadInc to XX-1, meaning restartReadInc is the step to read and XX the step at which the calculation begins 2012-01-25 09:05:38 +00:00
Martin Diehl 656d7a68d2 one new error message for spectral solver 2012-01-25 09:00:40 +00:00
Martin Diehl 3e521e32a6 indroduced 3 more flags for fine control of spectral algorithm 2012-01-25 08:56:46 +00:00
Martin Diehl 52a43c3b32 improved help output and corrected triggering (-h, --help) of help 2012-01-25 08:54:37 +00:00
Philip Eisenlohr 0cb90d4926 corrected debug_verbosity glitch (missed ">0" in logical expression) 2012-01-23 13:32:37 +00:00
Christoph Kords 4980f57fd5 added total Green-Lagrange strain to crystallite outputs 2012-01-20 10:25:35 +00:00
Philip Eisenlohr 43bd667f78 switched array indices of curl_fft in accordance with math.f90 2012-01-19 20:39:33 +00:00
Philip Eisenlohr a13aeb045f corrected curl_fft subroutine 2012-01-19 20:38:52 +00:00
Christoph Kords 1032ff3d47 corrected definition of element base node, which was still flawed 2012-01-19 14:15:26 +00:00
Christoph Kords 6c2a61e489 corrected node coordinates and sorting for spectral method 2012-01-17 16:53:56 +00:00
Christoph Kords 8739b9522e dislocation stress does not add to stress field anymore, but is only available as constitutive output for purposes of postprocessing. instead, we now use a backstress term (which is added to the resolved shear stress) that depends on the gradient of excess density on the same slip system. 2012-01-17 10:26:57 +00:00
Philip Eisenlohr ab7b9247c7 final merge with edits dropped intermediately from rev 1190. 2012-01-16 15:10:16 +00:00
Martin Diehl 3a22bf7e27 changed fftw from legacy fortran to new (2003) fortran (calling c routines directly)
renamed "steps" consequently to "incs"
moved kdtree2 to math.f90, put original source to private folder
2012-01-13 16:18:16 +00:00
Martin Diehl c644b2c24d corrected rectifyPath function (did not work in case of more than one /../..) 2012-01-13 15:22:42 +00:00
Martin Diehl 2259f44cb1 added parameter for debugging of FFTW in spectral method 2012-01-13 15:21:24 +00:00
Martin Diehl 07186e0751 added output of precision to init 2012-01-13 15:20:29 +00:00
Philip Eisenlohr f3bb2271c9 parsing of spectral geom file now accepts two-dimensional microstructure definition (plus range indications by 'x to y')
For instance:
1 2 3 4
5 6 7 8
9 10 11 12
...
2012-01-12 17:01:24 +00:00
Pratheek Shanthraj 11c71aae86 bugfix release 2012-01-12 16:31:23 +00:00
Philip Eisenlohr 83ff05c8e8 fixed bugs (sorry...) 2012-01-12 15:08:44 +00:00
Pratheek Shanthraj 2ea3c68d3f removed spectralPicturemode 2012-01-12 10:36:17 +00:00
Philip Eisenlohr 7103a44d45 renamed debug variables, plus additional "beautification".
renamed "logscale" header info to "log scales" in accordance with plural versions of similar variables.
2012-01-12 10:23:05 +00:00
Philip Eisenlohr a7d9d711f6 edited lines exceeding 132 chars (before any comment started) 2012-01-11 16:56:35 +00:00
Martin Diehl c54600fd1f added kdtree2 source and changed makefile to compile it.
started to implement the nearest neighbor search for regridding
corrected calculation of divergence in real space.
corrected handling of maximum stress deviation (removed mask)
2012-01-04 17:43:26 +00:00
Martin Diehl ee401520d7 corrected divergence calculation. Still some open questions, but improved understanding a lot 2011-12-23 12:30:35 +00:00
Martin Diehl 6dee2616f5 added help info how to use the executable 2011-12-23 12:29:04 +00:00
Martin Diehl 99fa0e0be8 corrected calculation of curl (last version was more a dummy function) 2011-12-23 12:23:13 +00:00
Philip Eisenlohr e62d083f7a removed (virtually) dead single-precision branch of the spectral solver. 2011-12-22 13:19:27 +00:00
Philip Eisenlohr 35bd460e39 added "core" package capability to processing
(renamed former f2py modules)

reverted pathinfo...
2011-12-22 10:36:59 +00:00
Krishna Komerla f463c2da70 added addCurl.py, not sure if it works correctly. still in old (eq. to addDivergence.py) style 2011-12-21 17:25:31 +00:00
Philip Eisenlohr b0ba5f7ba3 code setup now takes BLAS in order of precedence from IKML, ACML, and LAPACK.
Leave pathinfo blank for BLAS-options that are not available (like IKML typically)
2011-12-20 10:58:51 +00:00
Franz Roters c4a4c5cdca corrected error in apply_DAMASK_modifications
added support for Marc/Mentat2011 (classic)
2011-12-19 16:06:03 +00:00
Philip Eisenlohr 739c524848 makefile substitution now based on regexp match.
condensed makefile syntax.
can now use a system-defined LAPACK instead of ACML (required for OS X...).
fixed bug that 'ULTRA' was not using -O3 for most of the compiling...
2011-12-16 09:11:03 +00:00
Philip Eisenlohr a8dece8694 adopted use of general damask package ("import damask" instead of "damask_tools") 2011-12-15 08:52:41 +00:00
Christoph Kords b2547e0117 Math inversion used to return zero (math_inv3x3) or error (math_invert3x3) for negative determinant. Now checking whether the absolute(!) value of the determinant is close to zero to avoid singularities, negative determinants are very well allowed. 2011-12-14 08:55:24 +00:00
Martin Diehl 031a00237f improved makefile, no directly linking to files of acml
corrected default pathinfo
improved test for intel compiler
2011-12-09 16:34:53 +00:00
Martin Diehl 7d1d2b6229 corrected small mistake in setup_code and makefile
test no. 1500, spectral compile test with intel compiler is now working. adjusted run_test and tamask_test
2011-12-09 15:13:27 +00:00
Philip Eisenlohr 2ceb78c337 introduced new damask_tools method "relPath" and adopted it in setup_processing.py and setup_code.py 2011-12-06 18:38:03 +00:00
Martin Diehl ea0fe7b406 corrected 3D visualize (math.f90 part was not working)
small polishing of voronoi_tessellation.f90
2011-12-06 17:46:33 +00:00
Martin Diehl 5ebeb96e85 made DAMASK to work with gfortran:
-removed to long lines
-restructured f2py modules and merged make_DAMASK2Python into setup processing
-setup_code.py now sets library path in makefile and asks for compile switches for spectral code
-substituted \ in format strings with $

restructured DAMASK_spectral:
-more logical output and structure of code
-better input for spectral debug parameters
2011-12-06 16:58:17 +00:00
Philip Eisenlohr efadf9f728 mainly fixed error in output of spectral results (1:N,…) instead of (N,…)
rearranged some logic here and there.

(hopefully) improved readability of debug/standard output.

restarting logic would need some discussion with Martin/Krishna still…
2011-12-04 10:01:32 +00:00
Martin Diehl ace6851389 moved all routines from postprocessingMath to math.90, renamed the module to DAMASK, changed scripts and interfaces accordingly.
polished math.f90 (mainly added _pInt/_pReal and intent(in/out))
curl_fft is still a dummy function
2011-12-01 12:01:13 +00:00
Franz Roters e738bee1e3 moved todolist to private tree 2011-11-28 08:18:07 +00:00
Franz Roters 515986c4d6 renamed w0 and w0_slip to a and a_slip 2011-11-23 14:48:39 +00:00
Philip Eisenlohr f685bbba0e exchanged location of "graincount" in user block.
now matches wiki entry:
1. homogenization block
2. grain block
  (grain count
   sub-block[s] of crystallite and constitutive)
2011-11-23 09:09:00 +00:00
Martin Diehl 5a1e73b53d added set_timelimit functionality to fortran-wrapper of FFTW and introcudec it to DAMASK_spectral.f90 2011-11-21 18:48:38 +00:00
Martin Diehl 566f16b6e9 implemented calculation of divergence in real space, polished spectral debugging 2011-11-21 18:12:40 +00:00
Martin Diehl dc6c29a910 important bugfix for reading in results in case of restart 2011-11-17 22:11:05 +00:00
Martin Diehl 5ef73e164a restructured algorithm: moved into loop to reallocate fields and replan FFTW in case resolution changes during runtime ==> regridding
introduced parameters for selective debugging of spectral code and partly introduced the advanced divergence calculation again which is controlled by debug.config
added switch in numerics to control divergence behavior (uncorrected and corrected by phenomenological factor)
added precision directive to all values I found
2011-11-15 17:54:18 +00:00
Krishna Komerla 60c9293baf restarting seems to work, spectral solver writes own defgrad to disk.
step counting rectified
added additional output of deformation gradient volume min and max
2011-11-11 14:17:43 +00:00
Christoph Kords 860594d9a4 forgot to multiply shearrate with timestep in order to get accumulated shear 2011-11-09 10:26:00 +00:00
Christoph Kords 6dc8a4d530 check for LFC only if there is any slip activity at all; also increased safety factor from 1.2 to 1.5 2011-11-09 09:55:39 +00:00
Christoph Kords 7033e84fc7 new outputs "accumulatedshear", "velocity_edge", and "velocity_screw" (the latter two replace the output "dislocationvelocity") 2011-11-09 09:22:52 +00:00
Martin Diehl de96e99bca corrected determination of restartRead from commandline (now done by FEsolving instead of DAMASK_spectral_interface)
recompiled fftw libraries with --enable-shared to make them work with f2py
added draft for compilation test of spectral solver
2011-11-07 18:25:10 +00:00
Christoph Kords 8bc39fcd48 immobile density output keeps its sign 2011-11-07 15:46:40 +00:00
Christoph Kords 34adec74e8 corrected wrong indices into state array for velocity 2011-11-07 15:17:58 +00:00
Krishna Komerla 49c0b8a3fd restructured restarting capabilities 2011-11-07 11:04:57 +00:00
Christoph Kords 7dfb96a3da constitutive_nonlocal:
dislocation velocities are stored in the state, so we actually now have three "parts" of the state, the basic states that are updated by "constitutive_dotState" come first, then the dependent states that are calculated by "constitutive_microstructure" follow, and finally we have a last part reserved for other variables that just use the memory reserved by the state array and are updated somewhere else.

constitutive:

LpAndItsTangent does not need the full state, but only the local state, so changed that at least for the nonlocal constitutive law
2011-11-04 13:12:17 +00:00
Christoph Kords 9d1bc584d0 corrected stress integration scheme: now use norm(Lpresiduum) as a target function for Armijo's rule instead of whole tensor Lp; also corrected the guess for the improvement in Lp 2011-11-04 12:57:12 +00:00
Christoph Kords ca3d21a3b6 Depending on which state integrator one uses for the stiffness calculation, the initial state has to be chosen accordingly: e.g. for FPI choose last converged state, but for explicit RK choose converged state from start of increment (in case of explicit euler no state integration at all, but only stress integration). For this purpose we also need to remember "Fe" which now follows the cutbacking procedure as it is used for "Fp". 2011-11-04 12:44:50 +00:00
Martin Diehl ee7022d8cf correctet random seed generation to work with gfortran. 2011-11-04 10:29:35 +00:00
Martin Diehl c2eac36b48 started to implement restart facilities for spectral solver.
restart write is on per default
restart read is switched on by using --restart or -r INT where INT gives step at which the calculation should restart
setting INT to a value <1 will turn restart write off
2011-11-03 19:32:11 +00:00
Philip Eisenlohr b9647b2584 moved parts into new "lib" folder 2011-11-03 13:21:11 +00:00
Martin Diehl 680ba9082f removed deadlock when calling IO_warning(33)
polished IO_error and IO_warning
checked OpenMP critical statements in DAMASK_spectral.f90
corrected writing of headed in DAMASK_spectral.f90
2011-11-02 14:38:42 +00:00
Claudio Zambaldi 447e69019c Introduced environment variable DAMASK_ROOT.
It is set in the DAMASK root folder by running damask_env.sh
Much needed in the testing routines so far (try ./testing/run_tests.py)
damask_env.sh could also trigger other scripts to get to a working setup after fresh checkout. For example it could run 
./processing/setup/setup_processing.py
./code/setup/setup_code.py
if it finds that we have a fresh checkout.
2011-10-27 17:55:42 +00:00
Martin Diehl 15c356c3a7 some small improvements regarding the rotation of the loadcase frame 2011-10-25 13:38:24 +00:00
Martin Diehl c13aa2a829 first try of implementing a rotation of the loadcase coordinate system. Seems to work so far for one loadcase and homogeneous materials. 2011-10-24 18:26:34 +00:00
Martin Diehl 0f34d14bee again edited the makefile, no there is more flexibility in defining the libraries (FFTW and ACML)
added the source of fftw-3.3.tar.gz to fulfill the GPL
set_python_env.py was forgotten during last commit (for testing)
2011-10-24 16:57:51 +00:00