Commit Graph

4590 Commits

Author SHA1 Message Date
Martin Diehl 20da5663c0 simplified, avoid intermediate writes 2022-11-19 08:14:38 +01:00
Martin Diehl ce98cfdd5e padding is handled centrally in the FFT forward routines 2022-11-19 07:58:45 +01:00
Franz Roters bdd85a414c support for MSC.Marc 2022.2 2022-11-17 07:12:27 +00:00
Sharan Roongta 1264d8dfc1 allow selection of modulus 2022-11-11 19:36:55 +01:00
Philip Eisenlohr 46e2bbf80c correct unit for quaternion output O 2022-11-08 13:10:37 -05:00
Philip Eisenlohr 0ab9adcb5e fix Kichhoff typos 2022-11-02 20:23:56 +00:00
Daniel Otto de Mentock a1b91e5fcf Merge branch '202_MPI-random-seed' into 'development'
avoid repeated random sequences on different processes

Closes #202

See merge request damask/DAMASK!639
2022-10-31 11:29:50 +00:00
Philip Eisenlohr c507e2d3b6 avoid potenttial out-of-bounds memory access 2022-10-27 15:56:59 -04:00
Philip Eisenlohr 5c688345ed more verbose and specific messaging in self-test and errors 2022-10-27 15:39:48 -04:00
Martin Diehl ae3b049d30 avoid repeated random sequences on different processes
we don't use random numbers a lot and there are no reported problems
yet.
Still, this is safer.
2022-10-27 09:21:37 +02:00
Franz Roters 9149e760f6 Merge branch 'dislotwin-parameters' into 'development'
example files for TWIP/TRIP

See merge request damask/DAMASK!636
2022-10-26 06:59:59 +00:00
Martin Diehl 28ea09050d polishing 2022-10-25 23:18:22 +02:00
Martin Diehl df5487e1a9 Re-written YAML types
Strict typing for YAML

New access pattern requires to specify the expected type, i.e. 'scalar', 'list', or 'dict'. This ensures that the node offers the expected functionality instead of polluting 'tNode' with dummy functions which throw error messages if not overwritten.

The restructuring of the code allows to hierarchically construct methods without much code duplication.

Some aspects of the error messaging system have been improved.
2022-10-25 16:09:36 +00:00
Martin Diehl 7831aa5ce8 Merge remote-tracking branch 'origin/development' into dislotwin-parameters 2022-10-23 12:31:30 +02:00
Martin Diehl bf0113a737 avoid HDF5 error in case of empty dataset 2022-10-20 01:09:03 +02:00
Franz Roters 027d77e9f7 Merge branch 'long-PETSc-lines' into 'development'
length of macro seems to depend on PETSc location

See merge request damask/DAMASK!632
2022-10-19 10:32:15 +00:00
Martin Diehl d315aac163 use sourced allocation 2022-10-15 21:54:03 +02:00
Daniel Otto de Mentock 592936f21f missing allocation statement was causing gnu and intel debug compiler to fail 2022-10-14 11:44:42 +02:00
Martin Diehl 8937967067 length of macro seems to depend on PETSc location 2022-10-13 13:08:13 +02:00
Martin Diehl 2e24ce4770 Merge branch 'phenopowerlaw_fix_clean' into 'development'
asymptotic hardening respects own (not other) saturation

See merge request damask/DAMASK!631
2022-10-13 07:54:47 +00:00
Sharan Roongta 759c95471c asymptotic hardening respects own (not other) saturation
from @p.eisenlohr
2022-10-07 19:00:09 +02:00
Martin Diehl 0ca4d42678 PETSc 3.18.0 compatibility
CHKERR macros are now longer, should be replaced with PetscCall in the
future
2022-10-02 12:48:54 +02:00
Sharan Roongta dd3b385ae5 correct dotT passed 2022-09-29 15:04:57 +02:00
Martin Diehl 0c83245d4b example files for TWIP/TRIP
I'm not able to reproduce the results from https://doi.org/10.1016/j.actamat.2016.07.032,
but these parameters give results that are qualitatively ok
2022-09-22 16:39:23 +02:00
Yi Hu bb65d58214 add read-in init phi, correct write-out damage result 2022-09-21 08:50:00 +02:00
Martin Diehl 784cd3405e clean termination in case of MPI runs (no deadlock) 2022-09-10 23:53:59 +02:00
Martin Diehl 1add486115 don't rely on PETSc for MPI init 2022-09-10 23:37:39 +02:00
Martin Diehl b11ca71786 no need to pass determinant if not needed 2022-09-10 10:31:18 +02:00
Martin Diehl 043415c4bb unused and untested 2022-08-31 09:06:11 +00:00
Franz Roters 8c097b08d5 missing declaration 2022-08-29 16:08:24 +02:00
Martin Diehl 0b9597e74e better error message/simpler code 2022-08-16 18:26:50 +02:00
Martin Diehl fbc6a1ebbf following naming convention
the variable is NOT related to the base64 module
2022-08-16 17:10:49 +02:00
Martin Diehl 237bda5ccf ensuring matching domain decomposition for all transforms 2022-07-29 07:29:20 +02:00
Martin Diehl aee8ecd43d Merge remote-tracking branch 'origin/development' into prepare-transposed-FFTW 2022-07-29 07:27:12 +02:00
Daniel Otto de Mentock 27a8610d92 loops over tensors in fourier space need to correspond to transposed structure 2022-07-22 14:58:30 +02:00
Daniel Otto de Mentock b1257d6b54 correcting wrong access to scalarfield_fourier 2022-07-19 14:47:05 +02:00
Daniel Otto de Mentock dda157aa5a accesses to fourier space tensors now need to correspond to transposed structure 2022-07-13 14:10:13 +02:00
Sharan Roongta bb63048a0f Merge branch 'implicit-none-external' into 'development'
implicit none cover external

See merge request damask/DAMASK!610
2022-07-08 11:43:19 +00:00
Martin Diehl ec0c486a2c transition to transposed storage 2022-07-06 18:01:39 +02:00
Sharan c3ba8b6588 dot state is 0 in isibrittle 2022-07-02 18:59:21 +02:00
Martin Diehl 771ccb4485 testing average behavior 2022-07-01 14:33:10 +02:00
Martin Diehl fc76f9f60f preparing for use of transposed data in Fourier space 2022-06-30 22:23:27 +02:00
Martin Diehl 44ecedc7b0 unified names 2022-06-30 22:01:35 +02:00
Martin Diehl af2eb3e51d systematic names 2022-06-30 21:59:21 +02:00
Martin Diehl ef8f0becd4 only used within module 2022-06-30 21:45:49 +02:00
Martin Diehl 64fad03b97 explicit casting 2022-06-27 23:39:54 +02:00
Martin Diehl 60e097a04e something is wrong with interfaces for 64 bit 2022-06-27 22:35:29 +02:00
Martin Diehl de1633f420 limit access 2022-06-27 21:51:44 +02:00
Martin Diehl 61dc14e0b9 Merge remote-tracking branch 'origin/development' into implicit-none-external 2022-06-27 15:13:20 +02:00
Daniel Otto de Mentock de89d0fe38 Merge branch 'Marc-Precision-handling' into 'development'
Marc precision handling

See merge request damask/DAMASK!607
2022-06-27 08:37:41 +00:00
Martin Diehl 3b57934d6e Marc precision handling 2022-06-27 08:37:41 +00:00
Martin Diehl 445a091fec easier to understand 2022-06-24 07:36:25 +02:00
Martin Diehl 2f1904efec only MPI_f08 is standard conforming 2022-06-21 23:11:22 +02:00
Martin Diehl b8c3d75700 [skip sc] enforce interfaces (quick fix: declare as external) 2022-06-21 22:59:01 +02:00
Martin Diehl 074cdf5dff following default style 2022-06-15 20:15:35 +02:00
Martin Diehl 0b8473d7ec Merge remote-tracking branch 'origin/development' into polishing 2022-06-15 20:13:39 +02:00
Martin Diehl 703798b080 test needs update after change of parameter names for sb 2022-06-15 08:31:25 +02:00
Martin Diehl 576c79a619 following DAMASK paper 2022-06-13 14:08:45 +02:00
Martin Diehl 0d63284c01 increase test coverage 2022-06-12 16:16:25 +02:00
Martin Diehl f60c950a7c numerically better normalization
slightly more expensive, but guarantees a det(R) = 1.0
2022-06-12 10:25:14 +02:00
Martin Diehl 9f4e354b12 polishing 2022-06-11 23:12:30 +02:00
Martin Diehl 9e0a0ee166 not needed 2022-06-11 23:04:21 +02:00
Martin Diehl f8833043b3 consistent capitalization 2022-06-08 23:28:41 +02:00
Martin Diehl 78838c2f75 consistent variants including space 2022-06-08 23:27:09 +02:00
Sharan Roongta fa974574af Merge branch 'consistent-damage-parameter-names' into 'development'
Consistent damage parameter names

See merge request damask/DAMASK!593
2022-06-04 11:27:28 +00:00
Martin Diehl 1b5194288b polished tests, consistent variable name 2022-06-04 07:26:45 +02:00
Franz Roters 5155a3f958 Merge branch 'MPI-FFTW-fix' into 'development'
bugfix: prevent segmentation fault

Closes #192

See merge request damask/DAMASK!595
2022-06-02 16:13:24 +00:00
Martin Diehl b8530bbcc9 Merge branch 'implicit-none-in-interface' into 'development'
implicit none does not propagate

See merge request damask/DAMASK!596
2022-05-31 12:06:03 +00:00
Philip Eisenlohr 3d10d29254 Merge branch 'warning-error-cleanup' into 'development'
more flexible error/warning handling

See merge request damask/DAMASK!594
2022-05-28 16:56:53 +00:00
Martin Diehl d858d753e3 implicit none does not propagate
each subroutine/function is independent and not part of a scope
2022-05-27 22:38:47 +02:00
Martin Diehl 6fa87b4038 not needed anymore 2022-05-27 20:58:18 +02:00
Martin Diehl 2bfcc4d0b8 standardized reporting 2022-05-27 20:53:16 +02:00
Martin Diehl b56ded62d9 encapsulate data, prefix only public functions 2022-05-27 18:01:40 +02:00
Philip Eisenlohr f85e8a3ff4 more precise warning for fftw_plan_mode 2022-05-27 12:00:53 -04:00
Philip Eisenlohr 75bd643258 more precise warning for fftw_plan_mode 2022-05-27 11:58:10 -04:00
Philip Eisenlohr d66c777d6e introduced "IO_panel" to write statements to STDERR 2022-05-27 11:47:14 -04:00
Martin Diehl dc59beb59c following advince from FFTW3 manual
silences a lot of gfortran warnings about unused variables
2022-05-27 09:54:00 +02:00
Martin Diehl 064b9c5cc4 bugfix: prevent segmentation fault
need to rely on FFTWs calculation for amount of storage needed
2022-05-27 09:53:04 +02:00
Martin Diehl 6c6b3e64b3 more flexible reporting 2022-05-27 09:38:47 +02:00
Martin Diehl cfa2be44e9 internal errors should trigger error stop 2022-05-27 08:48:42 +02:00
Martin Diehl f7d23ad151 internal variable, no prefix needed 2022-05-27 08:40:01 +02:00
Martin Diehl f31dd8cbe8 unknown error/warning numbers are internal errors 2022-05-27 08:34:52 +02:00
Martin Diehl f90523eb07 more flexible reporting 2022-05-27 08:33:50 +02:00
Martin Diehl 5f0ae4fe7a user errors are catched earlier
internal errors (essentially programming faults) should stop with 'error
stop'
2022-05-27 06:41:55 +02:00
Martin Diehl 79fad5ca19 IP was only used for an argument that is NOT the IP ID 2022-05-27 06:41:15 +02:00
Martin Diehl 1d4c476cd4 collect errors for more helpful message 2022-05-27 06:30:25 +02:00
Martin Diehl d5db083fec more convenient to see all invalid parameters 2022-05-27 00:25:25 +02:00
Martin Diehl 7a23699aa4 not needed
error occurs in <phase ... init>
2022-05-27 00:24:40 +02:00
Martin Diehl 724c4fcf5d not used
ip,el,g is anyways not flexible enough. Remove unused arguments before
developing a more flexible approach
2022-05-27 00:23:51 +02:00
Martin Diehl 19b78cb647 easier to read 2022-05-26 23:29:06 +02:00
Martin Diehl 82cad00f81 simplified interface 2022-05-26 19:07:23 +02:00
Martin Diehl a514d30060 standardized names 2022-05-26 19:03:29 +02:00
Martin Diehl 77f586b1d7 Merge remote-tracking branch 'origin/development' into consistent-damage-parameter-names 2022-05-22 23:35:42 +02:00
Martin Diehl f42bb5d175 mitigate rounding errors 2022-05-20 06:43:32 +02:00
Martin Diehl 491e2ec0b2 avoid negative zero when not needed 2022-05-20 06:30:07 +02:00
Martin Diehl 6b6c2548c5 Merge branch 'development' into initial-V_e 2022-05-19 17:03:09 +02:00
Martin Diehl 41a732f62d assumed rank solution gives wrong results #194 2022-05-19 16:38:37 +02:00
Martin Diehl 556d9d840e specifying V_e is more natural than F_i 2022-05-19 01:15:17 +02:00
Daniel Otto de Mentock 85fa92ee1f Merge branch 'use-openMP-module' into 'development'
using the module is the recommended approach

See merge request damask/DAMASK!582
2022-05-17 12:57:15 +00:00
Daniel Otto de Mentock 5f3203cecf Merge branch 'element-cleanup' into 'development'
only relevant for Marc

See merge request damask/DAMASK!583
2022-05-17 12:56:50 +00:00
Martin Diehl c0bb576117 Merge remote-tracking branch 'origin/development' into sigint-to-quit 2022-05-13 11:58:18 +02:00
Martin Diehl 3f85027b9e better use SIGINT for actions triggered by the user
SIGTERM is send by MPI if one process fails, catching it results in
deadlocks
2022-05-13 11:58:03 +02:00
Martin Diehl 6b17787be1 only relevant for Marc 2022-05-13 10:02:02 +02:00
Martin Diehl 05d3a92944 using the module is the recommended approach 2022-05-13 08:43:24 +02:00
Martin Diehl 6f7e8491bc Merge branch 'Marc2022.1' into 'development'
Marc2022.1

See merge request damask/DAMASK!579
2022-05-12 20:38:25 +00:00
Martin Diehl 0b6ead1a48 avoid console-spam during initialization 2022-05-12 15:36:12 +02:00
Martin Diehl 53796fce7a trustworthy reference 2022-05-08 20:10:12 +02:00
Martin Diehl b376b10b7a classic Intel gives FPE 2022-05-08 17:47:20 +02:00
Martin Diehl 10d8a63cb6 not used
and current code is not good (not using Horner scheme)
2022-05-08 17:18:15 +02:00
Martin Diehl d713026f7e fast evaluation for (most common) case of constant 2022-05-08 16:49:30 +02:00
Martin Diehl b2052cb3c7 less strict tolerances
values can be in the order of 1e5, so 1e-6 precision is not too bad
2022-05-08 16:41:19 +02:00
Martin Diehl 8f9fbb30e5 use fused multiply-add where possible
only possible for Intel compiler
2022-05-08 15:48:13 +02:00
Martin Diehl 5b8e5591ed Merge remote-tracking branch 'origin/development' into order4-polynomial 2022-05-08 14:35:48 +02:00
Martin Diehl 240426402c using (faster) Horner evaluation
https://rosettacode.org/wiki/Horner%27s_rule_for_polynomial_evaluation
2022-05-08 13:32:14 +02:00
Martin Diehl 72c29f744c better tests 2022-05-08 12:49:29 +02:00
Martin Diehl 7d18ed307d hickup in documentation 2022-05-08 09:30:26 +02:00
Martin Diehl 2741fbd977 whitespace adjustments
- 1 empty line between dummy arguments/return value
- 2 empty lines between variable definition and actual code
2022-05-08 09:27:21 +02:00
Martin Diehl ec184cb8fe need to relax absolute tolerance
absolute values for quartic become quite high
2022-05-08 08:30:58 +02:00
Martin Diehl 9605a5c2de polynomial expansion up to order 4 2022-05-07 23:04:06 +02:00
Martin Diehl 71e4fa222c generic code for variable order 2022-05-07 22:53:31 +02:00
Martin Diehl 70b9943920 allow to specify only quadratic term in Dict 2022-05-07 22:47:13 +02:00
Martin Diehl 7cf3bcb9c9 easier to read 2022-05-07 22:01:47 +02:00
Franz Roters 7eddfab994 Merge branch 'development' into Marc2022.1 2022-05-06 18:18:55 +02:00
Franz Roters da595d46db add support for Marc2022.1 2022-05-04 14:56:50 +02:00
Franz Roters 6236ad52d1 consistent naming 2022-05-03 13:00:28 +02:00
Franz Roters fc4619189f unified capitalization 2022-05-03 12:55:27 +02:00
Martin Diehl be39865ff7 more systematic naming 2022-05-02 09:52:15 +02:00
Martin Diehl e29a732d9f improved naming 2022-04-29 14:58:12 +02:00
Martin Diehl 730cda2020 more explicit name 2022-04-29 14:50:27 +02:00
Martin Diehl bb83d20fe9 Merge branch 'development' into structure-improvements 2022-04-27 05:55:19 +02:00
Philip Eisenlohr dece12a1a6 remove unused CLI module inclusion 2022-04-26 12:19:13 -04:00
Martin Diehl 7a4097d52b Marc code belongs to Marc subfolder 2022-04-24 19:03:22 +02:00
Martin Diehl d41d03015a better matching name 2022-04-24 17:38:59 +02:00
Martin Diehl 26ab0365be only used by the grid solver 2022-04-24 17:30:37 +02:00
Martin Diehl 91b71fdff8 systematic naming scheme 2022-04-24 04:45:41 +02:00
Martin Diehl b80b406ad5 more specific name
'interface' can be an interface to anything, 'CLI' is an established
abbreviation for 'command line interface'
2022-04-23 16:09:31 +02:00
Martin Diehl 0e65d44bdc separating functionality
signal handling and CLI handling are not really related
2022-04-23 14:46:26 +02:00
Martin Diehl 690b2e9c21 tolerances were to strict for certain operations 2022-04-22 07:18:53 +02:00
Martin Diehl 745f5348cd running new tests 2022-04-22 00:01:54 +02:00
Martin Diehl df3f4d9480 testing forward/backward FFT 2022-04-20 07:02:59 +02:00
Martin Diehl dff78154a0 Merge branch 'fast-list-append' into 'development'
Performance improvements when storing/retrieving data from YAML

Closes #180

See merge request damask/DAMASK!561
2022-04-20 03:31:10 +00:00
Philip Eisenlohr 4a93dbec11 more descriptive variable names 2022-04-19 13:11:40 -04:00
Martin Diehl b796ccb04a DAMASK requires gfortran >= 9 2022-04-18 13:18:14 +02:00
Martin Diehl 808ef139ae avoid code duplication by using assumed rank "(..)"
- lack of modern Fortran interface for HDF5 still requires branching to
  call the same code
- not sure how to handle the read function (assumed rank and intent(out)
  ) does not work together
2022-04-18 13:16:45 +02:00
Martin Diehl 954a336d92 Fortran side does not support tags (i.e. 'type hints') 2022-04-16 16:24:29 +02:00
Martin Diehl 3cc3229792 string new line which is added by libfyaml 2022-04-16 16:19:33 +02:00
Martin Diehl f9c43e9db7 Merge remote-tracking branch 'origin/development' into consistent-damage-parameter-names 2022-04-15 10:32:36 +02:00
Martin Diehl dbf5ee84cb better readable 2022-04-14 21:21:32 +02:00
Martin Diehl b56176d670 all YAML related initialization is constant (linear in number of points) 2022-04-14 16:17:17 +02:00
Martin Diehl 3309360e4b avoit out of bounds access 2022-04-14 07:20:16 +02:00