Commit Graph

4833 Commits

Author SHA1 Message Date
Philip Eisenlohr 71a75f1cc2 more informative error stop messages 2022-12-05 11:01:06 -05:00
Yi Hu b9ee401ff5 add damage restart functionality and associated tests 2022-12-05 10:52:59 +00:00
Daniel Otto de Mentock 7c6c46c2db return value of fftw function is defined as cdouble 2022-12-05 10:39:42 +01:00
Daniel Otto de Mentock c2e78158c8 petsc macros can be omitted with use of preal 2022-12-05 10:38:36 +01:00
Martin Diehl f61273c062 standard style 2022-12-02 20:41:47 +01:00
Martin Diehl 411c86b5ef following style guide 2022-12-01 19:52:53 +01:00
Martin Diehl 8493170419 testing equivalence of different code branches for imposed cubic
symmetry
2022-12-01 19:17:11 +01:00
Daniel Otto de Mentock a2f898a94c correcting function return type, indentation 2022-12-01 17:27:30 +01:00
Daniel Otto de Mentock b96576ce93 standardizing double definition across modules 2022-12-01 17:27:30 +01:00
Daniel Otto de Mentock 8fd4a0c084 petscscalar and pReal need to be equivalent 2022-12-01 17:26:25 +01:00
Sharan Roongta 07bbbdb380 avoid fixed length character arrays 2022-11-30 13:33:04 +01:00
Sharan Roongta 71fe8edd4c Merge remote-tracking branch 'origin/development' into select-mu 2022-11-30 11:11:34 +01:00
Philip Eisenlohr 3a3be7cdc8 have isostrain/stress replace voigt/reuss 2022-11-30 11:09:51 +01:00
Martin Diehl d364808c82 extending test to MPI parallel runs 2022-11-29 18:12:38 +01:00
Sharan Roongta 599e4472e8 Merge remote-tracking branch 'origin/development' into select-mu 2022-11-29 12:12:02 +01:00
Sharan Roongta 8b5fa37428 calculation of shear modulus for cubic crystals can be simplifieid, tests added for different crystal symmetries 2022-11-28 23:28:36 +01:00
Martin Diehl 0508fa9ec2 flatten solver data layout
avoid problem with chunking/compression (only relevant for large
simulations when this feature is used).
In addition, use a unified variable naming: no "_current" for
thermal and damage to follow example of mech.
2022-11-27 17:07:25 +01:00
Martin Diehl 39157b75b7 plane waves have known solutions 2022-11-27 16:53:53 +01:00
Martin Diehl 6be1d43dc6 gradient/curl/div of constant fields are zero 2022-11-26 10:37:54 +01:00
Philip Eisenlohr 8993b5caac Merge branch '232-residualstiffness-residualphi' into 'development'
better naming

Closes #232

See merge request damask/DAMASK!666
2022-11-25 15:12:54 +00:00
Franz Roters 36f050a085 Merge branch 'polish-YAML-parsing' into 'development'
Shorter YAML code

See merge request damask/DAMASK!663
2022-11-25 07:55:31 +00:00
Philip Eisenlohr af24d47b9a Shorter YAML code 2022-11-25 07:55:31 +00:00
Sharan Roongta 99673bb865 Merge branch '162-error-stress-bc-grid' into 'development'
avoid confusion during reporting

Closes #162

See merge request damask/DAMASK!662
2022-11-24 12:50:39 +00:00
Sharan Roongta 9d71ffa3ee better naming 2022-11-24 11:23:10 +01:00
Martin Diehl deb8ebeb5b avoid confusion during reporting
polarization needs to ensure BC for F and P
2022-11-24 09:47:48 +01:00
Martin Diehl 19fbfb0968 Merge branch '230-polynomial-get' into 'development'
removed superfluous asDict specification for polynomials arguments

Closes #230

See merge request damask/DAMASK!665
2022-11-24 06:58:17 +00:00
Franz Roters 6a701db211 support Marc 2022.3 2022-11-23 17:20:35 +01:00
Daniel Otto de Mentock b2fcd1ec1b Merge branch 'grid-spectral-simplifications' into 'development'
FFTW-related changes

Closes #206 and #216

See merge request damask/DAMASK!661
2022-11-22 18:24:03 +00:00
Daniel Otto de Mentock 3fb0b5d099 removed superfluous asDict specification for polynomials arguments 2022-11-22 14:20:19 +01:00
Philip Eisenlohr 762a5de6c9 Merge branch '205-name-for-coefficient-of-thermal-expansion' into 'development'
commonly used variable name

Closes #205

See merge request damask/DAMASK!660
2022-11-20 23:56:59 +00:00
Martin Diehl cad4cbc5d2 circument bug in gfortran
associate to strided pointer seems to cause trouble
2022-11-20 23:35:54 +01:00
Martin Diehl 2173c9e499 undo weighting needed for restart 2022-11-20 13:36:03 +01:00
Martin Diehl 34fb7e921a use self-documenting code
the comments did not anything that was not clear from the
variable/function names
2022-11-20 12:58:50 +01:00
Martin Diehl ef435ee7d1 commonly used variable name 2022-11-20 09:40:15 +01:00
Martin Diehl 9b80ff623b faster operation
explicit weighting not needed
2022-11-19 13:39:43 +01:00
Martin Diehl eb226d237f better readable 2022-11-19 13:27:32 +01:00
Martin Diehl 6db3b72c89 avoid global variables
extra memory (one vector field) required
2022-11-19 13:05:12 +01:00
Martin Diehl f22ff8fa25 avoid state-changing functions
requires explicit padding, i.e. a little bit of code duplication
2022-11-19 12:36:56 +01:00
Martin Diehl ad3c18b29b avoid use of global variables 2022-11-19 12:24:16 +01:00
Martin Diehl 7de3da50e7 include weighting operation into Gamma operator
avoids point-wise multiplication.
2022-11-19 12:05:31 +01:00
Martin Diehl cb6df618fe avoid global variables 2022-11-19 11:47:44 +01:00
Martin Diehl 18b8923929 centralize FFTs 2022-11-19 09:37:26 +01:00
Martin Diehl cd2a21509a avoid depenencies on global state
requires on extra forward FFT pre iteration for basic scheme
2022-11-19 09:01:57 +01:00
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
Martin Diehl 563d566a3f made two loops faster
the most annoying one is still slow.
2022-04-14 06:39:19 +02:00
Martin Diehl ca0df3389a avoid long pointer transversal 2022-04-14 00:06:54 +02:00
Martin Diehl 00671f943b easier to understand 2022-04-13 23:45:14 +02:00
Martin Diehl c806885cb5 include libfyaml headers from non-standard locations
the CMake manual promises more than it holds.
Also adding some diagnostics+fixes for zlib, we still assume that it
exists (true on most systems, HDF5 also requires it normally)
see also https://stackoverflow.com/questions/21593
2022-04-13 07:58:31 +02:00
Martin Diehl 723252ef15 libfyaml backend
currently it simply converts the whole file content to flow mode.
The nice thing is: It can convert EVERYTHING to flow mode. libfyaml is
the only library that passes the whole YAML test suite
2022-04-12 23:24:07 +02:00
Martin Diehl 0376de4a11 not needed 2022-04-04 08:17:06 +02:00
Martin Diehl 34cc66f1bf use old interface for previous PETSc versions 2022-04-04 08:14:48 +02:00
Martin Diehl 8d44c55141 support for PETSc 3.17.0
DCHKERRQ has been replaced by PetscCall
2022-04-03 17:56:17 +02:00
Martin Diehl fb633798af following paper 2022-04-01 19:47:40 +02:00
Martin Diehl 945b10e3e6 avoid segmentation fault (null is returned if not scalar) 2022-03-20 00:00:52 +01:00
Martin Diehl 8f9ba9d6e4 test with initial conditions in grid file 2022-03-10 18:51:27 +01:00
Martin Diehl e8383cec69 Merge remote-tracking branch 'origin/development' into initial-temp 2022-03-10 08:52:05 +01:00
Martin Diehl 790ca57ea0 specify initial temperature per point 2022-03-09 21:29:40 +01:00
Martin Diehl da5ba82299 initial condition can be specified per point/cell 2022-03-09 20:40:03 +01:00
Martin Diehl c2453c56f1 Merge remote-tracking branch 'origin/development' into polishing 2022-03-09 15:22:22 +01:00
Philip Eisenlohr 73f01c07d0 clarified colormap default; accept string as colormap name 2022-03-08 09:31:08 -05:00
Martin Diehl b86292d19c Merge branch 'state-type-cleanup' into polishing 2022-03-06 09:31:25 +01:00
Martin Diehl 612f739794 homogenization state is not integrated 2022-03-06 08:33:36 +01:00
Martin Diehl d8de8f8b39 initial conditions are of type real 2022-03-05 22:13:37 +01:00
Martin Diehl f7b18981c9 shorter names (w/o loss of clarity) 2022-03-04 20:17:08 +01:00
Martin Diehl 802957f61e Merge remote-tracking branch 'origin/development' into separate-vtk 2022-03-01 22:52:36 +01:00
Martin Diehl 954b720992 Merge remote-tracking branch 'origin/development' into polishing 2022-03-01 21:41:27 +01:00
Martin Diehl 0604d94e31 also store stdout 2022-02-28 19:02:46 +01:00
Martin Diehl 2cf904fe49 output to logfile helfulf for debug, especially with MPI 2022-02-28 18:54:46 +01:00
Martin Diehl ad8758b340 better don't have unlimited time for planning as default 2022-02-28 16:15:07 +01:00
Martin Diehl 7ee440c1b1 separating functionality for more flexibility 2022-02-28 01:35:39 +01:00
Martin Diehl efa30d1f3a functions don't need acces to variables of function
better keep them out
2022-02-27 17:27:47 +01:00
Martin Diehl 1cae6c4533 keep functionality separated 2022-02-27 17:02:13 +01:00
Martin Diehl c8e70ada62 extend to multiple homogenization scheme 2022-02-27 16:58:40 +01:00
Martin Diehl 53fe11484d not used 2022-02-27 15:50:55 +01:00
Martin Diehl f78c422af9 easier to understand
the condition is there to avoid problems if the dataset is not created
because it is empty (e.g. requesting xi_sl for Nslip=[0])
2022-02-27 15:50:43 +01:00
Martin Diehl 3ee0434836 avoid nasty error in MPI parallel situations 2022-02-24 15:18:37 +01:00
Martin Diehl 28ffdb7c1c simplified 2022-02-24 12:41:14 +01:00
Martin Diehl 2bdf0d11cb check N_constituents only if active 2022-02-24 12:13:22 +01:00
Martin Diehl 8a84f6b07f origin can be negative 2022-02-24 11:24:54 +01:00
Martin Diehl cf3f869877 make clear that mechanical is always initialized 2022-02-23 06:19:16 +01:00
Martin Diehl 852959e1b8 call correct funtion
does nothing than reporting at the moment
2022-02-23 05:44:12 +01:00
Martin Diehl 339d081dd5 simplified logic to reflect what we are doing 2022-02-23 05:42:44 +01:00
Martin Diehl 94c6542122 more helpful error message 2022-02-23 05:33:30 +01:00
Sharan 9ff31d4f2b suggested changes from MR !530 2022-02-22 23:16:14 +01:00
Sharan 176b7b200a Merge remote-tracking branch 'origin/development' into thermal-partioning 2022-02-22 23:08:19 +01:00
Sharan Roongta 3657b2316d Merge branch 'homogenization-output' into 'development'
extra output in phase_thermal and homogenization_mechanical

See merge request damask/DAMASK!530
2022-02-22 11:08:27 +00:00
Sharan Roongta e26e8c715f pass data to homogenization and phase level at the same time 2022-02-21 22:40:41 +01:00
Martin Diehl f6bcabd328 Update crystal structure name 2022-02-21 09:00:00 +00:00
Martin Diehl 2f08624c18 Use centrally defined room temperature 2022-02-19 21:42:38 +01:00
Martin Diehl dce8f9e635 enable output of temperature per phase 2022-02-19 18:56:41 +01:00
Martin Diehl 968e55b0bc output homogogenized F and P
was disabled for historic reasons only
2022-02-19 15:35:38 +01:00
Martin Diehl b44a862a8a data structures to output mechanical results (homogenization) 2022-02-19 14:19:11 +01:00
Martin Diehl d97f515b77 polishing
RGC numerics is still annoying (and was probably never used in the last
10 years)
2022-02-19 13:56:24 +01:00
Philip Eisenlohr 66e4632655 Merge branch 'parallel-mesh' into 'development'
avoid deadlock for MPI runs

See merge request damask/DAMASK!526
2022-02-17 21:37:37 +00:00
Martin Diehl cfe01b83f8 avoid deadlock for MPI runs 2022-02-17 21:37:37 +00:00
Philip Eisenlohr 41389963a7 Merge branch 'python-polishing' into 'development'
python polishing

See merge request damask/DAMASK!528
2022-02-17 20:23:54 +00:00
Martin Diehl eca57d3b5f Merge remote-tracking branch 'origin/development' into dislotwin-fix-TWIP-TRIP 2022-02-17 08:17:39 +01:00
Martin Diehl 89a914bbe7 correct reporting of units 2022-02-17 07:13:39 +01:00
Franz Roters 6fce27deeb Merge branch 'homogenization-respect-fraction' into 'development'
bugfix: change of behavior

See merge request damask/DAMASK!525
2022-02-16 14:30:35 +00:00
Navyanth Kusampudi b0bbb1c286 Merge branch 'spectral-polish' into 'development'
Spectral polish

See merge request damask/DAMASK!524
2022-02-15 12:32:09 +00:00
Martin Diehl c66e2336c2 some versions of ifort have problems with 'do concurrent' 2022-02-14 15:08:35 +01:00
Martin Diehl ebcf0fa625 Merge remote-tracking branch 'origin/development' into homogenization-respect-fraction 2022-02-14 09:19:49 +01:00
Martin Diehl 466682e978 missing rename grid -> cells 2022-02-14 08:32:48 +01:00
Martin Diehl 61e11a0529 use openMP for operations in Fourier space 2022-02-14 08:30:24 +01:00
Philip Eisenlohr 1ecbeb6924 Merge branch 'more-material-examples' into 'development'
added and curated example material.yaml files

See merge request damask/DAMASK!521
2022-02-14 05:06:54 +00:00
Martin Diehl 0008ad1bf8 easier to understand 2022-02-14 05:57:48 +01:00
Martin Diehl ac4beea14b use precalculated dyad 2022-02-14 05:47:50 +01:00
Martin Diehl 99c2f58553 ensure that data is read 2022-02-12 22:38:58 +01:00
Martin Diehl 9d1cc93a81 no need to store dotstate 2022-02-11 14:23:41 +01:00
Martin Diehl b43695067d Merge remote-tracking branch 'origin/development' into nonlocal-standard-access 2022-02-11 12:53:58 +01:00
Martin Diehl 7c18f3f276 simplified 2022-02-11 12:26:50 +01:00
Martin Diehl 90dabadf08 Merge remote-tracking branch 'origin/development' into dislotwin-fix-TWIP-TRIP 2022-02-11 06:05:09 +01:00
Martin Diehl 2110690ae4 Merge remote-tracking branch 'origin/development' into no-global-dot-state 2022-02-09 22:53:04 +01:00
Franz Roters e0ed668ce0 Merge branch 'Fortran-polishing' into 'development'
a number of small improvements

See merge request damask/DAMASK!516
2022-02-09 16:01:00 +00:00
Martin Diehl bd657e6c62 fixed style and corrected copy and paste errors 2022-02-09 12:29:55 +01:00
Martin Diehl 28eda64893 bugfix: change of behavior
fraction needed for calculation of homogenized response
2022-02-08 00:24:06 +01:00
Martin Diehl 345659b0e8 update sta file after each inc 2022-02-07 15:09:26 +01:00
Martin Diehl 739a4b7a26 need to store fraction for proper homogenization 2022-02-07 14:25:03 +01:00
Martin Diehl e3a9adc722 not used 2022-02-07 07:20:15 +01:00
Martin Diehl 2a59251b1d deprecated reporting
crystallite does not exist anymore, information was discretization
related
2022-02-06 22:23:21 +01:00
Martin Diehl a37438ca29 helpful information about the parallel environment 2022-02-06 22:07:13 +01:00
Martin Diehl 0cf0112029 simplified 2022-02-06 15:59:46 +01:00
Martin Diehl 9386ba5ef5 allocate not needed 2022-02-06 12:59:41 +01:00
Martin Diehl 59fdd9b586 in agreement with paper
this is the sytem-wise formulation of D. Steinmetz' model
2022-02-06 10:07:15 +01:00
Martin Diehl 20b2079135 need to read V_mol, default of 1.0 gives strange results 2022-02-06 08:10:35 +01:00
Martin Diehl 519ca6f990 ifort does not allow rename of already imported symbols 2022-02-05 20:00:55 +01:00
Martin Diehl 4ca0ea6af2 avoid linking issues with gfortran+MPI
most likely related to the fact that HDF5 uses the old Fortran
inferface, not MPI_f08 as DAMASK
2022-02-05 18:38:06 +01:00
Martin Diehl 12e7922faf use modern Fortran interface
not possible for HDF5...
2022-02-05 18:37:38 +01:00
Martin Diehl 6c032e3ce6 remove deprecated mappings
almost done with having a consistent access pattern

solver
======
grid: x,y,z; mesh: el,ip

homogenization
==============
interface to solver: ce
internal: ho,en

phase
=====
interface to homogenization: co,ce
internal: ph,en
2022-02-05 10:01:55 +01:00
Martin Diehl 5f0a630fa6 remove deprecated phaseAt/phaseMemberAt 2022-02-05 08:24:07 +01:00
Martin Diehl 6d78400f87 the concept of IP/element_ID should not be used at the DAMASK core 2022-02-05 07:29:00 +01:00
Martin Diehl 3c148b5b0e bugfix: openMP variable was not protected 2022-02-04 18:55:59 +01:00
Martin Diehl 3990536f1c consistent order of arguments 2022-02-04 17:42:05 +01:00
Martin Diehl afed13e2ca ip/el not of interest 2022-02-04 13:23:37 +01:00
Martin Diehl 8aed927989 avoid use of co/ip/el at the phase level 2022-02-04 11:28:54 +01:00
Martin Diehl 3a0596a274 use en/ph access 2022-02-04 09:43:27 +01:00
Martin Diehl 2bd10a1261 avoid use of IP/el 2022-02-04 08:40:15 +01:00
Martin Diehl 900ef0a2c9 store IP neighborhood for ph/en access 2022-02-04 08:03:16 +01:00
Martin Diehl 8b12814eec common variable names 2022-02-04 06:42:14 +01:00
Martin Diehl c70e535da8 avoid access by el/ip 2022-02-04 00:32:13 +01:00
Martin Diehl ce1eb4f59e no need to store dot state
saves memory and flow is easier to understand
2022-02-03 23:40:25 +01:00
Martin Diehl a9a5c8fb73 simplify acces with pointer
naming will be adjusted once global deltaState is removed
2022-02-03 23:08:29 +01:00
Martin Diehl 85ca3a3f24 simplified/standardized 2022-02-03 22:57:32 +01:00
Martin Diehl 0807112a71 new tests with T_ref = 293.15K (20°C)
seems to be the most common choice for room temperature
2022-02-03 22:36:27 +01:00
Martin Diehl a243e10641 Merge remote-tracking branch 'origin/development' into Fortran-polishing 2022-02-03 09:01:33 +01:00
Martin Diehl 2cb3b2cc45 not needed 2022-02-03 07:58:51 +01:00
Sharan 038cdad85e new naming 2022-02-02 23:58:21 +01:00
Sharan d72347fe25 Merge remote-tracking branch 'origin/development' into thermal-restart 2022-02-02 23:07:32 +01:00
Martin Diehl 97f849c098 Merge remote-tracking branch 'origin/typehints_rngseed' into development 2022-02-02 22:45:52 +01:00
Martin Diehl d868a240b2 bugix: change of behavior 2022-02-02 16:45:13 +00:00
Martin Diehl 8fead8e306 relaxed tolerances
for optimized code, the last digit might differ
2022-02-02 13:48:04 +01:00
Sharan 3e73d28631 Merge remote-tracking branch 'origin/development' into thermal-restart 2022-02-01 23:07:55 +01:00
Martin Diehl a14735f3db first step towards removal of global dot state
less state => better code
2022-02-01 13:40:09 +01:00
Martin Diehl 4eb9c3dea7 correct name 2022-02-01 13:40:09 +01:00
Martin Diehl 49ca62f3af only Chuck Norris can divide by zero 2022-02-01 11:22:27 +01:00
Martin Diehl 1871dcd75a small polishing 2022-02-01 09:03:39 +01:00
Martin Diehl 08d3e22bcd size is known 2022-02-01 08:35:00 +01:00
Martin Diehl 39aa243695 Polynomial Class 2022-01-31 14:05:15 +00:00
Martin Diehl a673abb413 indicate that this mapping should be used only for C 2022-01-30 06:24:50 +01:00
Martin Diehl f70df11b67 consistent reporting 2022-01-29 15:59:22 +01:00
Martin Diehl 762f93d724 following naming convention 2022-01-29 15:30:59 +01:00
Martin Diehl 487912cfb0 following Python notation 2022-01-29 15:14:40 +01:00
Martin Diehl 477f2d8167 capitalize constants 2022-01-29 14:49:45 +01:00
Martin Diehl 774ec4e8c4 not used 2022-01-29 14:47:14 +01:00
Martin Diehl dd0f2cfa3c tau is often easier to use than pi
https://tauday.com/tau-manifesto
2022-01-29 14:46:09 +01:00
Martin Diehl 4a84c42112 improving constants
IUPAC does not specify an official ambient temperature, T=273.15K from
standard temperature and pressure (STP) is not particularly suited for our
purposes
2022-01-29 13:49:41 +01:00
Martin Diehl 978aa8a690 Merge remote-tracking branch 'origin/development' into dislotwin-fix-TWIP-TRIP 2022-01-27 15:22:51 +01:00
Martin Diehl ea33b321aa correct calculation of shear
need to convert volume to shear (and back for output)
2022-01-27 08:08:42 +01:00
Martin Diehl 1e748dc54e commenting 2022-01-27 07:28:33 +01:00
Martin Diehl e7ed32ba4e not needed 2022-01-27 00:01:53 +01:00
Martin Diehl 3bb2ae45d3 bugfixes
- L_tw/tr are not in lengths of Burgers vectors anymore
- need to define characteristic shear for tr
2022-01-26 23:57:59 +01:00
Martin Diehl 7d0d13bfed following paper
eq (10), eq (14), eq (49), eq (50), and Fig. 1
2022-01-26 23:28:39 +01:00
Martin Diehl 9e17efd1f8 transformation is for fcc-> hcp 2022-01-26 23:13:56 +01:00
Martin Diehl 95fff5d6f7 limit to TWINNING to fcc 2022-01-26 23:01:47 +01:00
Martin Diehl 8ceab5326f more systematic handling of bcc/hcp case 2022-01-26 22:49:11 +01:00
Martin Diehl d9f96bc0ec following paper, eq. (36) and eq. (37) 2022-01-26 22:33:44 +01:00
Martin Diehl 60e6e90874 avoid global states 2022-01-26 22:21:34 +01:00
Martin Diehl 5267794ff2 second order expansion of temperature-dependent variables 2022-01-26 22:04:44 +01:00
Martin Diehl c5fd467b44 power to one not needed 2022-01-26 21:47:33 +01:00
Franz Roters e7a999ffb1 Merge branch '146_grid-indexing+allocation' into 'development'
avoid duplicated variables + name adjustments

See merge request damask/DAMASK!505
2022-01-26 14:52:43 +00:00
Martin Diehl 68ea33c591 start at 1 for the same loop pattern 2022-01-26 12:21:08 +01:00
Martin Diehl a86dc322fb consistently put the check on the next line 2022-01-26 12:18:26 +01:00
Martin Diehl f1051ec28f polishing 2022-01-21 23:34:42 +00:00
Martin Diehl 96fed368ad name adjustments 2022-01-21 14:51:46 +01:00
Martin Diehl bc1b391449 Merge remote-tracking branch 'origin/development' into 146_grid-indexing+allocation 2022-01-21 07:23:24 +01:00
Sharan Roongta c2a822d8fd keys() function for dictionary as in Python.
Does not work for gfortran which fails with an ICE.
2022-01-20 23:45:47 +00:00
Martin Diehl 292cbdee30 consistent name 2022-01-20 14:56:21 +01:00
Martin Diehl 7bd8452bf8 set return value 2022-01-20 07:56:45 +01:00
Martin Diehl 7b1080fdb7 better and consistent variable name 2022-01-20 07:42:16 +01:00
Martin Diehl 1f86111f57 call SNESSetDM after DMDASNESSetFunctionLocal
following example ex5f.F90, seems to resolve segmentation fault
2022-01-19 22:57:22 +01:00
Martin Diehl fe094939e6 better to understand 2022-01-19 19:43:54 +01:00
Martin Diehl 0f4f2b6717 use only grid, not (x/y/z) start and end 2022-01-19 19:38:07 +01:00
Martin Diehl 89cb018189 polishing 2022-01-19 18:58:46 +01:00
Martin Diehl 3d6dcad385 Merge remote-tracking branch 'origin/thermal-solver-improvements' into 146_grid-indexing+allocation 2022-01-19 18:50:55 +01:00
Martin Diehl 25ddec76e7 avoid (x/y/z)end and (x/y/z)start, same information is in grid 2022-01-19 17:41:16 +01:00
Martin Diehl 96ff3314a3 simplified 2022-01-19 17:10:47 +01:00
Martin Diehl 642df40634 one-based counting 2022-01-19 16:56:54 +01:00
Sharan Roongta 1ad537b60c better to use global grid dimensions
also checking early allocation of Temperature field
2022-01-19 16:54:10 +01:00
Martin Diehl b18483cc6e simplify MPI debugging
needs manual modification in the source code
2022-01-19 16:45:14 +01:00
Martin Diehl 869fdc847a Merge branch 'development' into misc-improvements 2022-01-18 11:02:18 +01:00
Martin Diehl c5fd6a3677 random seed should contain some entropy
setting all elements to the same value does not make sense. Moreover,
negative values are allowed
2022-01-18 10:47:26 +01:00