Commit Graph

106 Commits

Author SHA1 Message Date
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
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 efd1b513cf fixed bug in divergenceFDM 2012-08-27 15:43:17 +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 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
Martin Diehl 13caf2d389 made linear shape reconstruction working again, pretty similar results like corrected FFT reconstruction 2012-07-18 18:39:59 +00:00
Philip Eisenlohr 4d09ef0648 changed variable name "debug_what" to "debug_level" 2012-07-05 09:54:50 +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
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
Franz Roters f8f9c089d6 check for NaN in math_QuaternionInSST 2012-05-11 07:37:32 +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 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
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
Krishna Komerla 83e89fba3c improved regridding, especially interfacing to python (also for nearest neighbor search) 2012-04-24 17:02:27 +00:00
Krishna Komerla d638c563af reworked python - fortran interfacing 2012-04-10 13:30:34 +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 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
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
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
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
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 0e2894f2b1 corrected handling of highest frequencies, polished and checked for standard compliance 2012-02-09 15:58:15 +00:00
Philip Eisenlohr dced3f9430 changed FFT reporting of dimension and resolution to one line each. 2012-02-09 13:18:59 +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 faed4ec232 added deallocation of arrays (fftw_free) 2012-02-02 13:19:35 +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 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
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 bd48620de2 improved Curl_fft, corrected Divergence_fft and added math_skew3x3 2012-01-25 10:30:39 +00:00
Philip Eisenlohr 0cb90d4926 corrected debug_verbosity glitch (missed ">0" in logical expression) 2012-01-23 13:32:37 +00:00
Philip Eisenlohr a13aeb045f corrected curl_fft subroutine 2012-01-19 20:38:52 +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 99fa0e0be8 corrected calculation of curl (last version was more a dummy function) 2011-12-23 12:23:13 +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 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
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
Martin Diehl ee7022d8cf correctet random seed generation to work with gfortran. 2011-11-04 10:29:35 +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 8ac1891b3c moved DAMASK_NaN to prec.f90 respectively prec_single.f90 as it is precision dependent 2011-10-20 16:46:11 +00:00