Commit Graph

208 Commits

Author SHA1 Message Date
Martin Diehl ca2a8d0a03 fixed typos in Abaqus related functions 2013-09-23 09:01:46 +00:00
Martin Diehl 40c399bf2e fixed bug in last commit and remove one more goto marker 2013-09-19 15:28:55 +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
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
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
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
Martin Diehl 4407edd802 checked convergence reporting for AL and BasicPETSc, seems to be ok now. 2013-07-08 15:48:13 +00:00
Philip Eisenlohr f408ea3381 corrected error msg typos 2013-06-30 00:17:58 +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
Harsha Phukan aea8ab144a changed all file reads consistently to 65536 bytes length 2013-06-24 13:33:30 +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
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 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
Martin Diehl 8b2d9d8155 further improvements on implementing the plain mode 2013-04-16 17:07:27 +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 5b508b5ee4 no need to exclude any geometry type from usage of nonlocal model 2013-04-09 13:10:31 +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
Franz Roters 02f092492e updated copyright header 2013-03-22 17:35:05 +00:00
Martin Diehl 3e2ecbe0a3 added time stamp to init of lattice 2013-03-07 22:45:00 +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 59da88460e preparation for introduction of plain mode and restructuring of calc modes for CPFEM_general 2013-02-27 20:41:14 +00:00
Pratheek Shanthraj 07ff1f7c93 reporting current time for most module inits 2013-02-25 16:34:59 +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
Philip Eisenlohr b57d001e71 added hints on offending positions when parsing material.config 2013-02-15 08:26:38 +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 c7c81a5ab5 removed unused variables and declared external functions as external 2013-02-11 09:44:17 +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
Mahesh Balasubramaniam b591dd5f33 made changes to string, int, float interpretations and added warnings. 2013-02-06 16:41:09 +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 08a2aa79f7 doxygen comments for homogenization.f90, unified naming ip->i, el->e 2013-01-29 10:28:01 +00:00
Martin Diehl 645b2605e1 corrected reporting to statistics file (*.sta) 2013-01-11 10:40:16 +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 19d86ca06a removed unnecsessary omp statements, removed one transpose in constitutitve 2013-01-08 11:09:20 +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
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 b20c612e25 added error "0" for internal (run time) checks failing 2012-10-12 17:55:23 +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
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
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 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 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
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
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
Philip Eisenlohr 7c6fc121fd condensed error reporting for constitutive_XYZ_init
removed erroneous check for structure>3
2012-07-17 17:36:24 +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
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
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
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
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
Franz Roters df2d520630 stripping abaqus comments is now aware of damask comments 2012-05-15 14:59:26 +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
Philip Eisenlohr dbeac18df6 no more dropping of comments in Abaqus input file assembly 2012-04-27 14:33:39 +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
Martin Diehl d2c4874db3 several small corrections/polishing 2012-04-20 11:58:41 +00:00
Philip Eisenlohr caff3124fd changed multiplier keyword from "times" to "copies of" to prevent ambiguity. 2012-04-17 10:05:49 +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
Franz Roters 00de182873 corrected if statement to check assembly of input files 2012-03-22 07:44:46 +00:00
Franz Roters 433d8a338c missed several occurences of constitution 2012-03-12 14:43:19 +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 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
Martin Diehl 23cda48709 cleaning up, removing includes not needed 2012-02-21 15:42: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
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 f03e7c459c small polishing, exchanged stops in math.f90 with calls to IO_error 2012-02-13 14:08:07 +00:00
Martin Diehl cff66b5cc3 removed implicit type castings 2012-02-10 11:24:53 +00:00
Martin Diehl 2e4f2f3d9c added _pInt where appropriate 2012-02-02 13:19:02 +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 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 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 656d7a68d2 one new error message for spectral solver 2012-01-25 09:00:40 +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
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
Martin Diehl 6dee2616f5 added help info how to use the executable 2011-12-23 12:29:04 +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
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
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
Krishna Komerla 49c0b8a3fd restructured restarting capabilities 2011-11-07 11:04:57 +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
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
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
Krishna Komerla 0a46741a77 changing header to correct number of increments 2011-10-18 16:42:06 +00:00
Martin Diehl ea2ba1573c polishing
!incremental update, wait for commit of damask_spectral.f90 before checking out
2011-10-18 09:22:33 +00:00
Franz Roters 58917b5abe corrected error messages
you can now switch of shear banding by seting sb_velocity to zero
stacking fault energy parameters are now read from material.config
2011-09-26 09:55:08 +00:00
Martin Diehl c35ea33f8e did a lot of polishing:
- removed unnecessary "return" before end of subroutine or function:
- changed undetermined array length (:) to (1:3)

To prevent problems with some code analysing tools:
- "3D oneliner loops" (with ";) only for "do" and "enddo" at the same time
- removed line continuation in OMP statements

made the makefile more flexible, removed heap-arrays switch
2011-09-13 15:54:06 +00:00
Martin Diehl e8628996ff added IO error in case mixed BC that allow rotation are given 2011-09-02 13:50:05 +00:00
Martin Diehl 4fb1cb8f87 merged calcmodes, i.e. equilibrium and fulfilling of stress BC is done in one step,
made convergence independent of size and resolution,
polishing output in DAMASK_spectral.f90
added function to compute eigenvalues without eigenvectors and function to convert a 3x3 logical to a 9 vector in math.f90
removed obsolete variable in numerics.f90
2011-08-26 14:06:37 +00:00
Martin Diehl 75c67f53f7 introduced alternative location for material configuration.
If present, the >>>JOB.materialConfig<<< file takes precedence over the standard >>>material.config<<<
2011-08-02 10:14:16 +00:00
Franz Roters e92e5cae53 restarting now works with Abaqus (standard, cannot test explicit due to lack of license)
you have to specify the job you are restarting from in the job description (cae), if you prepare your input file by hand this is the first line after *Heading
example: if the first job was using Oldjob.inp the first entry in the job description needs to be Oldjob (without the .inp)
as for Marc restart works only from last converged increment, i.e. ther restart writing should be specified like this:
*retsart, write, frequency=1, overlay
Overlay is not essential but saves a lot of disk space and as stated before you can only restart from the last converged increment anyway
2011-07-18 09:15:20 +00:00
Philip Eisenlohr 8c65cb9ea6 small output polishing 2011-07-15 12:25:38 +00:00