Commit Graph

1354 Commits

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