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
Martin Diehl
09ba92c26e
added and rearranged error messages, polished output and simplified calculation of f depending on fdot or L
...
guessing along former trajectory is now on per default, 'guessreset' and 'dropguessing' switch it off.
2011-07-14 09:37:31 +00:00
Martin Diehl
a08eaecf4e
polishing (names of variables, spaces, comments etc.)
...
renamed mpie to DAMASK in IO.f90 error message
2011-07-07 15:27:35 +00:00
Philip Eisenlohr
314adae1bb
spectral solver can now write result at reduced output frequencies: use 'f', 'freq', or 'frequency' keyword in loadcase definition.
...
example: ... time 1 incs 100 freq 10 will write output at times 0.0, 0.1, 0.2, ... , i.e., every ten increments only.
2011-06-15 17:48:14 +00:00
Christoph Kords
9a64f3dd85
* comments are now recognized by IO even when they do not appear at the beginning of the line
...
* no need for the zero entries in the material.config anymore
2011-05-30 09:09:19 +00:00
Franz Roters
08d39342e4
reworked restarting for compatibility with abaqus (not yet fully working)
...
added new orientation feature for direct simulation:
component type (random) asigns random orientation to an entire grain
2011-05-28 09:44:43 +00:00
Philip Eisenlohr
808a6d6ad6
+ error box + now tells error number (useful for Abaqus)
2011-05-13 16:55:13 +00:00
Philip Eisenlohr
fa98133f8e
renamed interface from "mpie_interface" to "DAMASK_interface"
2011-05-11 17:01:03 +00:00
Philip Eisenlohr
660c9212f8
introduced error 667 for out of bounds user result requesting
2011-05-04 16:02:18 +00:00
Franz Roters
7d84a0911e
removed unused variables
2011-04-13 14:16:22 +00:00
Franz Roters
c1b8391110
changed enconding of all source files to UTF-8 without BOM (signature) Codepage 65001
2011-04-07 07:20:28 +00:00
Franz Roters
fcdb805225
added copyright text to all f90 (free) format files
2011-04-04 14:09:54 +00:00
Christoph Kords
31a570768b
new error 237: singularity in internal stress calculation
2011-03-22 13:58:42 +00:00
Christoph Kords
235266b169
openmp parallelization working again (at least for j2 and nonlocal constitutive model).
...
In order to keep it like that, please follow these simple rules:
DON'T use implicit array subscripts:
example: real, dimension(3,3) :: A,B
A(:,2) = B(:,1) <--- DON'T USE
A(1:3,2) = B(1:3,1) <--- BETTER USE
In many cases the use of explicit array subscripts is inevitable for parallelization. Additionally, it is an easy means to prevent memory leaks.
Enclose all write statements with the following:
!$OMP CRITICAL (write2out)
<your write statement>
!$OMP END CRITICAL (write2out)
Whenever you change something in the code and are not sure if it affects parallelization and leads to nonconforming behavior, please ask me and/or Franz to check this.
2011-03-17 10:46:17 +00:00
Martin Diehl
8dd1a694a3
extended IO to cope with different name for solverJob and Model
...
polishing, added error codes
added FFTW library files
2011-02-21 14:37:38 +00:00
Christoph Kords
24d33bf2ff
* added a new material parameter "surfaceTransmissivity" (default value 1.0) which allows to change the transmissivity of the material surface between 0 and 1
...
* now complaining when encountering an unknown nonlocal parameter in material.config
* use same error ID for all material parameters out of bounds
* symmetric flux calculation in side dotState can now be omitted (because of new treatment of periodicity)
* switching back to "local flux balance" (add leaving and entering fluxes at central MP, don't touch neighbor) instead of "flux distribution" (subtract leaving fluxes from central MP and add them at neighboring MP). This has the advantage that there is almost no need for CRITICAL statements in parallelization, so hopefully this results in some speed up.
2011-02-16 16:35:38 +00:00