Commit Graph

3254 Commits

Author SHA1 Message Date
Sharan Roongta 19c44d5e97 Read numerics.yaml once 2020-06-16 18:47:19 +02:00
Sharan Roongta c19ed21468 Begin to update DAMASK structure 2020-06-16 17:53:14 +02:00
Sharan Roongta eb98649793 compilation order matters 2020-06-16 17:50:35 +02:00
Sharan Roongta 846a50c871 Simplified logic; treating defaults correctly 2020-06-16 15:57:16 +02:00
Martin Diehl e0d4ee44a3 better name 2020-06-16 13:59:59 +02:00
Martin Diehl 753fbb70fd cleaning 2020-06-16 13:55:32 +02:00
Martin Diehl 06f6e15123 avoid public variables 2020-06-16 07:05:31 +02:00
Martin Diehl 54aa5a67ff polishing 2020-06-16 06:41:53 +02:00
Martin Diehl 0a9902818c polishing 2020-06-16 06:34:12 +02:00
Martin Diehl e952ab7127 bugfix
do not access unitinialized memory
2020-06-15 23:12:49 +02:00
Martin Diehl e5c9380bac cleaning 2020-06-11 08:52:22 +02:00
Martin Diehl 579ced6a52 removed global public variables 2020-06-11 08:44:24 +02:00
Martin Diehl b353129ba8 cleaning 2020-06-11 08:36:21 +02:00
Martin Diehl 82326ed812 drop support for ping-pong scheme 2020-06-11 08:22:25 +02:00
Martin Diehl 5c544a6e4e bugfix
- IO_read sanities files such that they end with EOL (unless 0 byte)
- IO_readline simply counts EOL to determine number of lines
2020-06-05 20:58:36 +02:00
Martin Diehl 9cd9ee71c5 off-by-one issue fixed 2020-06-05 14:44:31 +02:00
Martin Diehl a9e0e93213 need to handle case of zero length file when splitting 2020-06-05 13:38:40 +02:00
Martin Diehl 512e54a7ee before we forget ... 2020-06-02 17:34:58 +02:00
Martin Diehl 742b3718ec using iostat solved the issue for ifort
but for a zero length file, ifort returns -1
2020-06-02 10:09:19 +02:00
Martin Diehl d31417b050 Ifort can not handle 0-length files
Not sure whether this is a bug or not:
https://software.intel.com/en-us/forums/intel-fortran-compiler/topic/856789
2020-06-02 09:31:26 +02:00
Martin Diehl 79c17ec407 use names known from python 2020-06-02 07:57:19 +02:00
Martin Diehl f84e5aaaf9 bugfix (do not keep EOL in last string)
simplified further
2020-06-02 07:39:27 +02:00
Martin Diehl ac9fddd9e9 Merge remote-tracking branch 'origin/development' into misc-improvements 2020-06-02 00:12:50 +02:00
Martin Diehl 37d7e593e8 correct counting of lines
counts like "wc -l" either with or without EOL in last line
2020-06-01 22:09:28 +02:00
Martin Diehl 2badf257fc same information but shorter 2020-06-01 21:36:36 +02:00
Martin Diehl 431284aa95 not needed 2020-06-01 18:23:01 +02:00
Martin Diehl 44fc65b812 Merge branch 'development' into FEM-PETSC_3.11+ 2020-06-01 15:19:37 +02:00
Martin Diehl 1885a701fa nothing to debug here 2020-06-01 15:19:30 +02:00
Martin Diehl a5bd0958a1 polishing 2020-05-31 23:50:06 +02:00
Martin Diehl 733208a83c Merge branch 'development' into misc-improvements 2020-05-28 19:38:18 +02:00
Sharan Roongta 8ae7f8f991 polishing 2020-05-26 20:56:53 +02:00
Sharan Roongta 9732726cfa editorial changes 2020-05-26 11:46:28 +02:00
Martin Diehl e8992e7b72 documentation 2020-05-25 22:09:46 +02:00
Martin Diehl eced5d0a3c bugfixes for date reporting 2020-05-25 20:13:57 +02:00
Martin Diehl 248f199a7b track creation time 2020-05-25 18:51:10 +02:00
Sharan Roongta 3f221ab5ed polishing 2020-05-25 12:54:43 +02:00
Martin Diehl 376e45d7bf don't even start to compile 2020-05-23 13:55:00 +02:00
Sharan Roongta 677e081937 YAML related errors 2020-05-21 21:03:39 +02:00
Sharan Roongta 873cb80edd access issue resolved 2020-05-21 20:52:15 +02:00
Sharan Roongta 72fdb639f0 YAML parser 2020-05-21 20:41:40 +02:00
Martin Diehl 23b1381eaf give credit 2020-05-21 11:30:25 +02:00
Martin Diehl d8764f2b8f status is not the first argument 2020-05-16 18:32:30 +02:00
Martin Diehl ae20ab8d42 more reasonable name 2020-05-16 17:05:03 +02:00
Martin Diehl a279785149 Merge branch 'development' into misc-improvements 2020-05-16 17:01:48 +02:00
Martin Diehl 1ccd3aab89 suppress warnings
the compiler does not know that IO_error terminates the program
2020-05-15 22:33:38 +02:00
Martin Diehl 661604ff94 more error checking 2020-05-14 06:59:30 +02:00
Martin Diehl 530623a2b3 function was only renamed in PETSc 3.12 2020-05-13 13:15:37 +02:00
Martin Diehl f2d1343cdf need to select the whole mesh 2020-05-13 12:58:39 +02:00
Karo 90f93d2399 Merge branch 'integrate-lambert' into 'development'
Integrate lambert

See merge request damask/DAMASK!166
2020-05-12 23:36:08 +02:00
Franz Roters 24c2e5ba61 Merge branch 'YAML-Prerequisites' into 'development'
Yaml prerequisites

See merge request damask/DAMASK!167
2020-05-12 08:59:46 +02:00
Martin Diehl 72c835a554 not used 2020-05-11 16:00:53 +02:00
Sharan Roongta 620154a1a8 not needed 2020-05-11 14:00:19 +02:00
Martin Diehl 5a94218d23 fixes error:
[0]PETSC ERROR: Object is in wrong state
[0]PETSC ERROR: Cannot set coordinates until after DMDA has been setup
2020-05-11 08:02:34 +02:00
Martin Diehl 4340d30f05 Merge branch 'development' into misc-improvements 2020-05-08 12:26:35 +02:00
Martin Diehl 4f8c7ea2d5 Merge branch 'development' into YAML-Prerequisites 2020-05-07 23:11:38 +02:00
Martin Diehl 1610a6e12a editorial changes 2020-05-07 23:10:27 +02:00
Sharan Roongta 0c70f1a54f polishing 2020-05-07 21:13:25 +02:00
Martin Diehl 9553a7838b needs to be logical 2020-05-06 22:15:09 +02:00
Martin Diehl 0f2447d413 restart does not overwrite existing results 2020-05-06 21:48:55 +02:00
Martin Diehl a5b78dc30a potential glitch 2020-05-05 11:20:16 +02:00
Martin Diehl 4dcec8b309 not needed 2020-05-05 11:18:58 +02:00
Martin Diehl 6e99956b58 Merge branch 'development' into misc-improvements 2020-05-05 09:22:53 +02:00
Martin Diehl 76d37b5bcd flux debug would need temporary variable 2020-05-03 20:38:25 +02:00
Martin Diehl 520a484df2 reasonable name 2020-05-03 13:09:49 +02:00
Martin Diehl 2a1badb548 not needed 2020-05-03 12:04:57 +02:00
Martin Diehl 53de95798a separated local and nonlocal part of dotState 2020-05-03 11:49:16 +02:00
Martin Diehl 6f627892bc not needed 2020-05-03 11:47:23 +02:00
Martin Diehl 8995faae8b WIP: part of dotState should be in deltaState 2020-05-03 10:49:36 +02:00
Sharan Roongta 00deddac44 initialization needed 2020-05-02 23:17:53 +02:00
Sharan Roongta 47f85402c4 using function makes it more readable 2020-05-02 23:03:11 +02:00
Martin Diehl c7a77ebc26 Merge branch 'development' into integrate-lambert 2020-05-02 09:21:42 +02:00
Sharan Roongta 815608ac42 polishing 2020-04-30 21:34:11 +02:00
Sharan Roongta 10710bc446 using pointers makes finalize general for GNU and Intel 2020-04-30 21:29:59 +02:00
Martin Diehl ad312201dd keep order 2020-04-29 14:53:27 +02:00
Martin Diehl d0dcfedb47 no extra function needed 2020-04-29 14:52:18 +02:00
Martin Diehl ce9bdc50a4 common variable names 2020-04-29 14:46:58 +02:00
Martin Diehl 5a4a7393b9 statements belong together 2020-04-28 19:17:34 +02:00
Martin Diehl 81b3dc74d5 default value needed (fcc/bcc)
thanks to Richard (TU Delft) and Vitesh for reporting
2020-04-28 19:07:17 +02:00
Martin Diehl 20b604a334 finalize does not work for gfortran 2020-04-28 11:22:09 +02:00
Martin Diehl d99c05860e FEM is now Mesh 2020-04-28 10:35:43 +02:00
Martin Diehl 9565f15415 clearer description 2020-04-28 10:30:03 +02:00
Martin Diehl f3be26ffa2 long error and warning functions at the end of public methods 2020-04-28 10:05:36 +02:00
Martin Diehl f2164a5bd3 simplified
openMP is not used here ...
2020-04-27 13:40:22 +02:00
Martin Diehl 9750f267c8 missing initialization
can lead to infinite loops for no 'ping pong' (MSC.Marc)
2020-04-27 13:39:32 +02:00
Martin Diehl 9671a632b5 compare floats with tolerances 2020-04-26 14:58:07 +02:00
Martin Diehl 0effa71276 cleaning
large alias lists complicate things
2020-04-26 08:36:16 +02:00
Martin Diehl 7ec1ae977e new names
spectral => grid
FEM      => mesh

because there are FEM solvers for both discretizations. old names will
be available for a certain time
2020-04-25 09:56:51 +02:00
Sharan Roongta ca6aa4bcd1 child type would inherit procedures from parent type 2020-04-24 16:50:42 +02:00
Martin Diehl 49963b9f04 Merge branch 'development' into unified-RK4-RKCK45 2020-04-24 06:29:51 +02:00
Sharan Roongta 7fe2a52b65 better logic for finalization 2020-04-23 17:10:33 +02:00
Franz Roters 289808875c Merge branch 'state-integration-cleaning' into 'development'
State integration cleaning

See merge request damask/DAMASK!155
2020-04-23 13:38:37 +02:00
Sharan Roongta 11c4ff7787 finalization error 2020-04-22 16:49:31 +02:00
Sharan Roongta 6a0a8f1d27 Fortran syntax check showed an error 2020-04-22 15:51:05 +02:00
Martin Diehl d61f302305 no need for separate file 2020-04-22 15:34:47 +02:00
Sharan Roongta c4bcd3b430 Functions needed to store and read yaml data 2020-04-22 14:59:23 +02:00
Sharan Roongta b9fec2a4cf Public functions required 2020-04-22 12:23:09 +02:00
Martin Diehl e06251e53e proper doxygen style 2020-04-19 14:20:34 +02:00
Martin Diehl 064f4d9d9d polishing 2020-04-17 13:18:20 +02:00
Martin Diehl 328dcf0101 polishing 2020-04-17 11:58:03 +02:00
Martin Diehl cf53e1e8e6 bugfix: wrong logic for RK and source state 2020-04-17 11:55:43 +02:00
Martin Diehl a51d27858e polishing 2020-04-17 11:53:55 +02:00
Martin Diehl 65c3831add polishing 2020-04-17 10:17:00 +02:00
Martin Diehl 7fffa26d7f bugfix: size depends on shape 2020-04-17 10:04:10 +02:00
Martin Diehl 667d371f2e avoid code duplication 2020-04-17 08:24:35 +02:00
Martin Diehl 2ad5bfbc3b preparing modularization 2020-04-17 08:17:32 +02:00
Martin Diehl 84d6521183 Merge branch 'development' into state-integration-cleaning 2020-04-17 07:46:40 +02:00
Martin Diehl a4c52ec1fa extra variable not needed 2020-04-15 21:56:20 +02:00
Philip Eisenlohr 2a6132b793 Merge branch 'polish-homogenization' into 'development'
Polish homogenization

See merge request damask/DAMASK!158
2020-04-15 16:27:15 +02:00
Martin Diehl 6e48585de1 prefix for local variables not needed 2020-04-15 13:09:05 +02:00
Martin Diehl ae95a96c88 better readable 2020-04-15 08:53:25 +02:00
Karo Sedighiani 03aa6f9c80 Merge branch 'vectorize_rotation' into development 2020-04-14 19:34:11 +02:00
Martin Diehl c7e6277758 not needed
https://stackoverflow.com/questions/19687233
2020-04-14 15:34:38 +02:00
Martin Diehl bf970bb146 2 space indentation 2020-04-14 09:49:03 +02:00
Martin Diehl 9d831cf268 not needed as module variable 2020-04-14 09:43:43 +02:00
Martin Diehl 912c064b57 indicate read-only public variables 2020-04-14 09:38:48 +02:00
Martin Diehl 0de4520580 directly calculate subF 2020-04-14 08:24:28 +02:00
Martin Diehl 0894886744 can be calculated when needed 2020-04-14 07:57:25 +02:00
Martin Diehl d616c1dda8 better use explicit arguments 2020-04-14 07:45:39 +02:00
Martin Diehl 95e41e0b3f not needed (just linear interpolation) 2020-04-14 07:22:30 +02:00
Martin Diehl 3bfa2d679c simpler/correct logic for eu2om 2020-04-11 11:36:37 +02:00
Martin Diehl a6d1e02b32 LAPACK calls the unblocked versions for our small matrices
so a work that holds exactly the data seems to be the best choice
2020-04-10 23:54:38 +02:00
Martin Diehl 1d5b1a17cd same style for plastic and source 2020-04-10 19:36:29 +02:00
Martin Diehl 399a0f1b66 store information about state size only once 2020-04-10 18:53:59 +02:00
Martin Diehl b375af83a3 bugfix for issue introduced in last merge 2020-04-10 15:52:54 +02:00
Martin Diehl 6082f3c1aa Merge branch 'development' into state-integration-cleaning 2020-04-10 13:20:38 +02:00
Martin Diehl a2e70612ff interface checking for LAPACK 2020-04-10 12:52:27 +02:00
Martin Diehl ccf62ede52 bugfix for Cubochoric
forward and backward mappings are different
2020-04-08 11:41:42 +02:00
Sharan Roongta bb03483bb7 Merge branch 'MiscImprovements2' into development 2020-04-04 23:50:15 +02:00
Franz Roters 8631653fde Merge remote-tracking branch 'remotes/origin/memory-efficient-state-storage' into development 2020-04-03 15:57:05 +02:00
Franz Roters 5e9ff7947b [skip ci] plastic_dotstate always before source_dotstate 2020-04-03 14:01:35 +02:00
Martin Diehl f174dd6aa7 PETSc 3.13 is out
grid solver still works, mesh solver is still broken
2020-04-02 09:50:02 +02:00
Martin Diehl 565cf8239f can be done in parallel 2020-04-02 09:29:58 +02:00
Martin Diehl d9806cb7f3 do not clutter with nonlocal checks 2020-04-02 00:23:59 +02:00
Martin Diehl 3a4bb59057 no need to store the same information multiple times 2020-04-01 18:58:48 +02:00
Martin Diehl d0d963a2cc set independent of number of slip systems 2020-04-01 17:58:50 +02:00
Martin Diehl cf5fcf389b phase is a property of the element
and we have no homogenization for nonlocal
2020-04-01 17:57:26 +02:00
Martin Diehl 70dd06c4ec constitutive should handle state jump alone 2020-04-01 14:42:38 +02:00
Martin Diehl b5efaa08a4 use already known mappings 2020-04-01 13:10:16 +02:00
Martin Diehl 5af53f0be7 nonlocal is a property of the phase 2020-04-01 11:30:01 +02:00
Martin Diehl 97e89f3f88 nonlocal can run in local mode 2020-04-01 11:09:30 +02:00
Martin Diehl cde8c65bd1 better store data locally 2020-04-01 11:00:55 +02:00
Martin Diehl 79012c9ffb not needed 2020-04-01 10:00:12 +02:00
Martin Diehl b996b6c42e merge functionality 2020-04-01 09:56:59 +02:00
Martin Diehl ce61606c0b not needed 2020-04-01 09:34:49 +02:00
Martin Diehl 079596f7cd unix standard 0/.false. = OK, 1/.true. = not OK 2020-04-01 09:27:09 +02:00
Martin Diehl 6eee8f34ac homogeneous mesh 2020-04-01 09:01:03 +02:00
Martin Diehl d50d55cef3 avoid public variables 2020-04-01 08:54:20 +02:00
Martin Diehl ec53e4c318 avoid writing to public variable crystallite_todo 2020-04-01 08:39:49 +02:00
Martin Diehl 6b11d43842 handle error checking centrally 2020-04-01 08:02:08 +02:00
Martin Diehl 9e926f1545 centralize test for error 2020-04-01 07:41:55 +02:00
Martin Diehl 570c042100 update of dependent state always in conjunction with state integration 2020-04-01 07:18:37 +02:00
Martin Diehl 54e3455bd4 RKCK45 store intermediate state only per point 2020-04-01 07:10:02 +02:00
Martin Diehl 6bfa51c307 LHS allocation does not work for pointers 2020-04-01 07:02:23 +02:00
Martin Diehl e46220cd8a OMP bugfix for FPI integrator, memory-efficient RK4 2020-03-31 22:02:53 +02:00
Martin Diehl 9c95ce36f4 automatic LHS (re)-allocation does not work for pointers
group_float has pointers, not allocatables
2020-03-31 20:57:09 +02:00
Martin Diehl e818dfdb3e not used anymore 2020-03-31 20:42:51 +02:00
Martin Diehl 20a3ebecea Merge branch 'state-integration-one-loop' into memory-efficient-state-storage 2020-03-31 20:29:01 +02:00
Martin Diehl e810b6b23b not needed here 2020-03-31 12:39:23 +02:00
Martin Diehl 00be291fa0 todo will be reset after state integration 2020-03-31 12:14:54 +02:00
Martin Diehl 2de4b87c61 bugfix for FPI: loop over sources!
no memory waste for adaptive Euler
2020-03-31 11:24:13 +02:00
Martin Diehl 5b29af8473 clearer 2020-03-31 10:16:14 +02:00
Martin Diehl 505c1432b1 no need for temp storage 2020-03-31 10:12:25 +02:00
Martin Diehl 2cc0c746d3 no variable needed 2020-03-31 10:07:01 +02:00
Martin Diehl 28dadb4422 no need to check multiple times 2020-03-31 09:49:41 +02:00
Martin Diehl 604bcd1229 memory efficient FPI state integrator 2020-03-31 09:38:08 +02:00
Martin Diehl 18f60a94a9 one variable suffices 2020-03-31 09:04:08 +02:00
Martin Diehl c0d03a8c26 not needed 2020-03-31 08:37:34 +02:00
Martin Diehl a7b602f4ca Merge branch 'development' into state-integration-one-loop 2020-03-31 08:35:07 +02:00
Martin Diehl 9507101969 can be done in one loop 2020-03-31 08:33:35 +02:00
Martin Diehl 5f2759c03c no need to check for converged 2020-03-31 08:23:38 +02:00
Martin Diehl 2080749189 does not change during the iteration 2020-03-31 08:09:41 +02:00
Franz Roters 369682aa03 Merge branch 'fix-RK4' into 'development'
Fix rk4

See merge request damask/DAMASK!150
2020-03-30 20:05:09 +02:00
Martin Diehl 81c8ffe5c1 integrate into the same loop 2020-03-30 14:16:23 +02:00
Martin Diehl 28cf06ca98 extra loop not needed 2020-03-30 14:13:04 +02:00
Martin Diehl 7eeb5db15f intention clearer
slip/twin/trans happens in untwinned/untransformed volume, shear banding
is independent of that
2020-03-29 22:41:47 +02:00
Martin Diehl 11e58bcc2f not needed
why debugging allocate?
2020-03-29 22:37:48 +02:00
Martin Diehl 9c90aa5acb polishing 2020-03-29 20:07:09 +02:00
Martin Diehl 2a37acfe5e store data where it is needed 2020-03-29 20:04:51 +02:00
Martin Diehl ba5538516c simplified 2020-03-29 20:04:24 +02:00
Martin Diehl 08ad9d1d57 was mixed up 2020-03-29 19:18:06 +02:00
Martin Diehl b6596a0310 compiler can do the counting 2020-03-29 19:17:24 +02:00
Martin Diehl 7b7ac294ca volatile seems to make sense here
the value can be changed surprisingly
2020-03-29 19:13:29 +02:00
Martin Diehl cff62219b6 Merge branch 'development' into adaptive-euler-substate0 2020-03-27 14:43:55 +01:00
Martin Diehl 75fff766e1 not needed anymore 2020-03-26 22:02:28 +01:00
Martin Diehl fdbbb94aac takeover from RKCK45 2020-03-26 21:46:28 +01:00
Martin Diehl c490b4bea4 standard names 2020-03-26 20:19:05 +01:00
Martin Diehl adbf6739a9 Merge branch 'Adaptive-Euler-one-loop' into RKCK45-one-loop 2020-03-26 10:56:51 +01:00
Martin Diehl fe8ee825d6 bugfix: F, not Fp for explicit nonlocal 2020-03-26 10:52:10 +01:00
Martin Diehl 8725c2ceba Merge remote-tracking branch 'origin/development' into Adaptive-Euler-one-loop 2020-03-26 10:49:34 +01:00
Martin Diehl a4674a6461 whitespace adjustments 2020-03-25 20:55:37 +01:00
Martin Diehl 3ce8902245 no need to split up 2020-03-25 20:47:10 +01:00
Martin Diehl aa2d440107 finally one loop left 2020-03-25 20:37:37 +01:00
Martin Diehl 599de26dad further integration 2020-03-25 19:44:51 +01:00
Martin Diehl 939d2af1d9 bugfix: explicit nonlocal requires F, not Fe 2020-03-25 18:58:58 +01:00
Martin Diehl 9900bf0be7 Merge branch 'FPI-one-loop' into RKCK45-one-loop 2020-03-25 18:56:51 +01:00
Martin Diehl 2d5d48288c bugfix, related making nonlocal state update explicit 2020-03-25 13:20:14 +01:00
Martin Diehl ddef241dcc Merge branch 'FPI-one-loop' into Euler-one-loop 2020-03-25 13:19:42 +01:00
Martin Diehl a6f94efa51 bugfix, introduced when making nonlocal explicit 2020-03-25 13:17:48 +01:00
Martin Diehl 86abba477a use same loop 2020-03-25 11:27:03 +01:00
Martin Diehl b54a109d99 do plasticState and sourceState at once 2020-03-25 11:20:39 +01:00
Martin Diehl 652846cdc9 no need for extra loop 2020-03-25 11:16:26 +01:00
Martin Diehl 67f64cf7e1 correct iteration skipping 2020-03-25 11:13:46 +01:00
Martin Diehl 32b9a5ab15 all in one loop 2020-03-25 11:07:47 +01:00
Martin Diehl 9a188784e2 no need for an extra loop 2020-03-25 10:54:17 +01:00
Martin Diehl 02774a89d9 2 space indentation 2020-03-25 10:33:41 +01:00
Martin Diehl 52ca7cc43c only one stateJump per integration 2020-03-25 10:27:55 +01:00
Martin Diehl 2dd3ccdad1 no need to transpose 2020-03-25 10:22:21 +01:00
Martin Diehl 8f6dc054d0 move up the nonlocal skip 2020-03-24 22:25:40 +01:00
Martin Diehl e7c585a02e loop order that allows more memory efficient code 2020-03-24 20:47:41 +01:00
Martin Diehl 66aa20ad39 extra check for nonlocal needed 2020-03-24 20:35:27 +01:00
Martin Diehl 0740c9f339 dot state in loop 2020-03-24 20:33:26 +01:00
Martin Diehl 44e24a9c4f merging into one loop 2020-03-24 20:25:29 +01:00
Martin Diehl eb6fe8a3a2 merge into one loop 2020-03-24 16:14:14 +01:00
Martin Diehl 369ea31a4b name unification for simple copy and paste 2020-03-24 15:02:55 +01:00
Martin Diehl 93abf2b6d8 this SEEMS to be the way how it was planned 2020-03-24 13:06:29 +01:00
Martin Diehl 424fcabb90 move into the same loop 2020-03-24 12:54:31 +01:00
Martin Diehl 871241e31b first round of loop removal 2020-03-24 12:43:41 +01:00
Martin Diehl b88ffb8d4f converged(g,i,e) matters only for FPI 2020-03-24 12:30:43 +01:00
Martin Diehl d16af3bfb3 one loop for Euler integrator 2020-03-24 12:19:36 +01:00
Martin Diehl d45f1f1c6f further integration into one loop 2020-03-24 11:37:00 +01:00
Martin Diehl 0e5f0a3068 no need for two loops 2020-03-24 11:27:53 +01:00
Martin Diehl 106cc1de92 complete iteration of each materialpoint step by step 2020-03-24 10:45:38 +01:00
Martin Diehl cde558e736 convergence check on the fly 2020-03-24 10:34:15 +01:00
Martin Diehl 4c485f1af0 state jump in same loop 2020-03-24 10:18:17 +01:00
Martin Diehl 3a6269e802 wrong omp pragmas 2020-03-24 10:06:08 +01:00
Martin Diehl 8d6dcd779c dotstate/residual/state calculation in the same loop 2020-03-24 06:34:42 +01:00
Martin Diehl 830ea61739 better readable 2020-03-24 06:27:43 +01:00
Martin Diehl 9c134e68fc in-line dot state 2020-03-23 08:15:33 +01:00
Martin Diehl e5743c7d27 same logic 2020-03-23 06:53:23 +01:00
Martin Diehl 027818c942 run in one loop 2020-03-23 00:32:41 +01:00
Martin Diehl 0b321bd9d4 bugfix for nonlocal
logic is hard to understand ...
2020-03-23 00:18:57 +01:00
Martin Diehl 86db8f8ca4 avoid flush 2020-03-23 00:15:00 +01:00
Martin Diehl e7d61e49fe can be done in the same loop 2020-03-22 23:16:00 +01:00
Martin Diehl 48c9d31720 matching names 2020-03-20 15:08:07 +01:00
Martin Diehl 03bec0221a systematic names 2020-03-20 15:00:18 +01:00
Martin Diehl dd30a4ca65 module name = file name 2020-03-20 14:56:04 +01:00
Martin Diehl b569e9cd6e clearer name 2020-03-20 14:55:10 +01:00
Martin Diehl 6ad1315b60 consistent name 2020-03-20 13:37:37 +01:00
Martin Diehl d54b3bd3b7 typo 2020-03-20 13:30:30 +01:00
Martin Diehl 7e7b32add1 useful defaults 2020-03-20 13:25:37 +01:00
Martin Diehl 7aa47d8f5a module name follows filename 2020-03-20 07:18:11 +01:00
Martin Diehl 91e728d065 polishing 2020-03-19 11:30:36 +01:00
Martin Diehl e1bd49a12b constants/parameters in capitals 2020-03-17 08:17:14 +01:00
Martin Diehl b4ed508745 Store data only where needed 2020-03-17 07:51:14 +01:00
Martin Diehl 6097267cd2 treat as 'normal' internal function 2020-03-17 07:17:40 +01:00
Martin Diehl 71d4de269a better store data locally 2020-03-17 00:39:32 +01:00
Martin Diehl 8d46a22f5a better keep data close to its use 2020-03-17 00:10:23 +01:00
Martin Diehl f718587011 was not used 2020-03-17 00:01:42 +01:00
Martin Diehl 160ef4af7e simplified 2020-03-16 23:43:59 +01:00
Martin Diehl fecd1586b0 using notation from paper 2020-03-16 23:31:43 +01:00
Martin Diehl caa0e502df only remainder of old mapping exist
and they are clearly marked as deprecated
2020-03-16 22:56:33 +01:00
Martin Diehl becb04c234 simpler ... 2020-03-16 22:50:09 +01:00
Martin Diehl c0fc7ad9a9 simpler 2020-03-16 22:50:09 +01:00
Martin Diehl 1434aa529f default name 2020-03-16 22:50:09 +01:00
Martin Diehl 44d12669a4 works if Nslip=[0] 2020-03-16 22:50:09 +01:00
Martin Diehl c702a9f1d7 numpy name 2020-03-16 22:50:09 +01:00
Martin Diehl 9733f4a140 standard names 2020-03-16 22:50:09 +01:00
Martin Diehl e4792e56fb store data where it is needed
avoid globals, even if they are read only
2020-03-16 21:39:53 +01:00
Martin Diehl 0bb7fea782 sort into folders ...
and avoid names like mesh_mesh
2020-03-16 21:03:54 +01:00
Martin Diehl 71e6c24102 2 space indentation 2020-03-16 20:58:40 +01:00
Martin Diehl 6ce0101a3d getting rid of global totalNslip 2020-03-16 17:54:31 +01:00
Martin Diehl c965b14d1d forall is deprecated 2020-03-16 17:18:50 +01:00
Martin Diehl 0ff54d1c43 transpose not needed twice
"static" part of the interaction matrix is symmetric for one slip family
2020-03-16 16:46:16 +01:00
Martin Diehl ad014d40be vectorized 2020-03-16 16:41:55 +01:00
Martin Diehl 9d6bd1cb77 vectorized
There seems to be a bug in the interaction matrix, there should be no
transpose. However, the transpose recovers the old behavior (up to
machine precision)
2020-03-16 16:02:14 +01:00
Martin Diehl 8d5d31988a cleaning 2020-03-16 15:36:34 +01:00
Martin Diehl ecd74ff8b5 internal functions need no prefix 2020-03-16 15:22:44 +01:00
Martin Diehl 47f91d08ca handle most stupid case 2020-03-16 15:04:51 +01:00
Martin Diehl b19665f235 works for elasticity only 2020-03-16 14:58:42 +01:00
Martin Diehl 8ae5814815 symbol name as in DAMASK paper 2020-03-16 13:36:24 +01:00
Martin Diehl 5760c680b6 no need to store for the whole simulation 2020-03-16 13:14:44 +01:00
Martin Diehl f8049b85be works for no active slip systems 2020-03-16 13:06:39 +01:00
Martin Diehl 5d7ff888fc should work for elasticity only 2020-03-16 11:14:55 +01:00
Martin Diehl 7b3b4ffb1c following python style 2020-03-16 11:14:27 +01:00
Martin Diehl 9ed48f7e5f getting rid of totalNslip in nonlocal 2020-03-16 10:09:58 +01:00
Martin Diehl 044b816005 better to read w/o cycle 2020-03-16 09:42:58 +01:00
Martin Diehl ab5177e0be better readable 2020-03-16 09:37:25 +01:00
Martin Diehl fc15616ef7 simplifying 2020-03-16 09:18:05 +01:00
Martin Diehl 4d62432d34 internal functions at the end 2020-03-16 08:22:36 +01:00
Martin Diehl ef4b24646d only store parameters that are needed during the simulation 2020-03-16 08:16:55 +01:00
Martin Diehl 23c6510faa atol=0.0 is fine
crystallite takes max(atol, rtol*X), so atol=0.0 means that convergence
is based on rtol only
2020-03-16 00:52:18 +01:00
Martin Diehl e3bbd32b1e polishing 2020-03-16 00:12:18 +01:00
Martin Diehl 0735d2da7c no need to store # sytems/family 2020-03-16 00:05:51 +01:00
Martin Diehl c7f3c2cb56 notation from DAMASK paper 2020-03-15 21:58:28 +01:00
Martin Diehl e53ba801fa more systematic file structure 2020-03-15 17:04:28 +01:00
Martin Diehl d37f42da4f better sort files according to solver 2020-03-15 16:58:30 +01:00
Martin Diehl 5b71f1050f better make internal function
- not used
- no check whether matrix is positive-definite, i.e. danger of NaN
2020-03-15 16:11:28 +01:00
Martin Diehl 8c78347a8b equivalent, but systematic better visible 2020-03-15 16:05:56 +01:00
Martin Diehl 7677bc876b more precise documentation
symmetric is not enough, could result in taking the square root of negative eigenvalues
2020-03-15 15:58:25 +01:00
Martin Diehl 253ee0013d equivalent, but more systematic 2020-03-15 15:03:53 +01:00
Martin Diehl 65decfc48a intention more clear 2020-03-15 14:54:25 +01:00
Martin Diehl 66302fa6da rotational part is always of 3x3 tensor 2020-03-15 14:21:11 +01:00
Martin Diehl 4b3f4834b5 unified documentation and variable names 2020-03-15 14:07:38 +01:00
Martin Diehl 2d678fae8f better readable 2020-03-15 13:52:50 +01:00
Martin Diehl 6a0d4678a9 better readable 2020-03-15 13:19:07 +01:00
Martin Diehl 9aa9b7ff69 documenting parameters 2020-03-15 13:09:27 +01:00
Martin Diehl ae49e6710d documenting for doxygen 2020-03-15 12:54:35 +01:00
Martin Diehl 8cc16da53f atol is part of the state structure, no need for suffix 2020-03-15 09:51:40 +01:00
Martin Diehl 7ec5a0bd6b make consistency check 2020-03-15 09:39:35 +01:00
Martin Diehl a3e2d39854 no need to store atol twice 2020-03-15 08:47:16 +01:00
Martin Diehl 9ad391ae50 include sanity check 2020-03-14 22:53:05 +01:00
Martin Diehl 38b755740b no need to store atol 2020-03-14 20:55:46 +01:00
Martin Diehl eb08f9f0b2 polishing 2020-03-14 19:40:05 +01:00
Martin Diehl 33aaa94865 use centralized (and tested) funtionality 2020-03-14 17:29:08 +01:00
Martin Diehl 8bd708f3b1 correct type 2020-03-14 13:53:21 +01:00
Martin Diehl 5c4ddf5138 Merge branch 'development' into MiscImprovements 2020-03-14 12:52:30 +01:00
Martin Diehl 07ecf60722 more explicit and flexible 2020-03-13 14:03:04 +01:00
Martin Diehl e8b5a6dfe4 bugfix:
full stress tensor should be used
2020-03-10 14:02:09 +01:00
Martin Diehl 705ee908a2 Merge remote-tracking branch 'origin/development' into clean-and-polish-damage 2020-03-10 13:49:11 +01:00
Martin Diehl aa75591ea9 no need to prefix internal parameters
also, use CAPITALS for parameters, but not for module prefixes (does not
work for IO and HDF5 anyway)
2020-03-10 13:45:00 +01:00
Martin Diehl 2f16c1cacf more relevant test
restricting to reasonable F allows to use a reasonable tolerance
2020-03-10 07:58:03 +01:00
Martin Diehl 39b2f8d2d9 clearer name 2020-03-10 06:13:54 +01:00
Martin Diehl 3fadbaa369 fixed typo 2020-03-09 22:20:33 +01:00
Martin Diehl 6bc57d4911 mainly code duplication and not used 2020-03-09 14:17:41 +01:00
Martin Diehl 4a93f2206d avoid early return + use numpy names 2020-03-09 14:17:05 +01:00
Martin Diehl 105853004a correct type conversions 2020-03-09 14:07:31 +01:00
Martin Diehl a1f36b14d3 simplifying
still trying to figure out how to best use HDF5 for reference stiffness
2020-03-09 14:05:49 +01:00
Martin Diehl cf8e3fb91a single source of truth 2020-03-09 14:00:58 +01:00
Martin Diehl a0f1509045 full out of source build
no temporary variables appear in src if following cmake procedure
2020-03-09 13:55:28 +01:00
Sharan Roongta 0b340a6d42 Merge branch 'less-public-variables' into development 2020-03-09 11:25:35 +01:00
Martin Diehl 9f8fbaa9f7 same names for same variables 2020-03-02 15:49:14 +01:00
Martin Diehl c4a0bf62f0 UTF signs for clearer documentation 2020-03-02 15:30:39 +01:00
Martin Diehl 6701af6425 better readable, tested, and following standard notation 2020-03-01 23:00:06 +01:00
Martin Diehl 44f09099ca sliprate is allready positive here 2020-03-01 18:48:47 +01:00
Martin Diehl c5b07bc535 need to be defined 2020-03-01 10:22:37 +01:00
Martin Diehl 6dfc48f89e better use names known from numpy 2020-03-01 09:52:46 +01:00
Martin Diehl 4ab3bfe96d polishing/simplifying 2020-03-01 09:41:42 +01:00
Martin Diehl 37dd59193e better readable 2020-03-01 09:34:33 +01:00
Martin Diehl 9e80d98709 no need to re-calculate projection over and over again 2020-03-01 09:06:03 +01:00
Martin Diehl 9b1823f879 should be checked for both ductile models 2020-03-01 08:28:21 +01:00
Martin Diehl 4b791a38a5 no need for a module variable 2020-02-29 17:19:34 +01:00
Martin Diehl 00d6187325 public functions first 2020-02-29 17:04:29 +01:00
Martin Diehl 0c70eefb91 always assume indicators of length 3 2020-02-29 17:03:01 +01:00
Martin Diehl 18ccc49d6f avoid duplicated public/private statements
variables should be private
2020-02-29 15:15:41 +01:00
Martin Diehl 4d227fab2b polishing 2020-02-29 14:34:19 +01:00
Martin Diehl 3713810592 simplified allocation for same shape 2020-02-29 13:53:04 +01:00
Martin Diehl bcccf06450 Merge remote-tracking branch 'origin/development' into less-public-variables 2020-02-29 13:18:02 +01:00
Martin Diehl 4935f90d5a polishing 2020-02-29 13:17:33 +01:00
Martin Diehl 2bc36121b2 less public variables, clearer names 2020-02-29 12:57:19 +01:00
Martin Diehl ca76014e45 preparing removal of public functions 2020-02-29 12:21:03 +01:00
Martin Diehl 13e2b0725a useful as external function 2020-02-29 12:20:40 +01:00
Martin Diehl 8700d7784c avoid global variables 2020-02-29 11:10:23 +01:00
Martin Diehl 54881a6ca9 better readable: show that there is no division by zero 2020-02-29 10:55:52 +01:00
Martin Diehl 791db82136 better readable 2020-02-29 10:27:22 +01:00
Martin Diehl 8dd62f1c1e better readable and with sanity checks 2020-02-29 10:20:38 +01:00
Martin Diehl a9572f81a1 bugfix: array access out of bounds
this now uses always the first (source) entry of a particular type.
Needs clearer structure in the future
2020-02-29 09:52:33 +01:00
Martin Diehl 07ab7a4d57 one loop is enough 2020-02-29 09:36:42 +01:00
Martin Diehl 2429eee079 no need for 2 variables 2020-02-29 08:03:06 +01:00
Martin Diehl 0679fa1713 polishing 2020-02-29 07:58:33 +01:00
Martin Diehl ba9bd9120e unifying code style 2020-02-29 07:42:59 +01:00
Martin Diehl 53bd9f9b64 need to read in variable before it is used 2020-02-29 06:39:16 +01:00
Martin Diehl 5350f3950f no need to store temporary variables 2020-02-29 06:38:08 +01:00
Martin Diehl 2b855940f5 not needed here 2020-02-28 21:54:32 +01:00
Martin Diehl e4fe152810 no public parameters 2020-02-28 21:44:40 +01:00
Martin Diehl 3aec4f91f4 WIP: get rid of global variables from lattice 2020-02-28 19:46:18 +01:00
Martin Diehl 0fbba60c91 do not rely on public variables 2020-02-28 19:35:53 +01:00
Martin Diehl 15712d7ebb last remaining outputID enums removed 2020-02-28 11:06:21 +01:00
Martin Diehl 11d456bcd7 no need for enums
no performance difference measurable but less complicated code without
them
2020-02-28 10:58:11 +01:00
Martin Diehl 991d0fe020 polishing/unifying 2020-02-28 10:40:17 +01:00
Martin Diehl cf0f5f0fee polishing 2020-02-28 10:04:38 +01:00
Martin Diehl 4c17963cd6 cleavage systems should reflect lattice symmetry
also {100} cleavage planes need investigation
2020-02-26 19:11:33 +01:00
Martin Diehl c9b9c9103b 2 space indentation 2020-02-26 18:49:20 +01:00
Martin Diehl 73491f3be9 simplified and unified style 2020-02-26 18:37:17 +01:00
Martin Diehl 7e30c10e82 internal functions need no prefix and are located at the end 2020-02-26 18:02:47 +01:00
Martin Diehl 33dc44e512 2 space indentation 2020-02-26 17:55:19 +01:00
Martin Diehl eacf0cc894 does not makes sense to have cleavage planes for isotropic
behavior can be recovered by using 'real' crystal structures and
suitable parameter (easiest for fcc/bcc)
2020-02-26 17:50:29 +01:00
Martin Diehl 1d77af66c0 preparing removal of initializeStructure 2020-02-26 07:23:29 +01:00
Martin Diehl 839443bc85 better (generic) name where possible 2020-02-26 07:06:25 +01:00
Martin Diehl cbcb7dca5d cleaning 2020-02-26 06:12:45 +01:00
Martin Diehl 82dee9db0e matching names 2020-02-25 17:53:15 +01:00
Martin Diehl 48604292e2 Merge remote-tracking branch 'origin/development' into MiscImprovements 2020-02-25 17:33:39 +01:00
Martin Diehl 4889e75e52 clearer structure 2020-02-25 17:32:49 +01:00
Martin Diehl 2c952c3410 these variables can be at leat write protected 2020-02-25 09:50:21 +01:00
Martin Diehl 7d7eff0d94 crystallite should be responsible of crystallite variables 2020-02-25 09:42:07 +01:00
Sharan Roongta a2e8e5b13b Merge branch 'simple-output-handling' into development 2020-02-23 19:38:13 +01:00
Martin Diehl 49de01787d variables not used 2020-02-23 16:38:57 +01:00
Martin Diehl 605e976915 I don't like loops
use language features and helper functions for shorter code
2020-02-23 09:45:19 +01:00
Martin Diehl 7d6c0dc5f4 is only needed during initialization 2020-02-22 11:42:06 +01:00
Martin Diehl 2cf89b1fdd bugfix: output dataset was too large in case of Ngrains>1
material_phaseAt is defined per constituent/grain/component => no need
to multiply with homogenization_maxNgrains
2020-02-22 11:28:03 +01:00
Martin Diehl bedcd0ad8c sanity check for homogenization
number of (constituent) per microstructure need to match Nconstituents
 in homogenization.
2020-02-22 11:14:11 +01:00
Martin Diehl 62898a70a0 use automated LHS allocation 2020-02-21 23:40:29 +01:00
Martin Diehl f72b856a18 no reason for critical
will always (and only) set to .true.
2020-02-21 23:37:35 +01:00
Martin Diehl 402c282e68 better names
backport form dadf5-usability
2020-02-21 13:27:41 +01:00
Martin Diehl 6a90796618 bugfix: wrong string for comparison 2020-02-21 09:42:56 +01:00
Martin Diehl a2e710c89c alinged for better readability 2020-02-21 08:45:11 +01:00
Martin Diehl c9c78aa90d do not store invFp and invFi for all points
requires to explicitly calculate inverse of Fp and Fi for the tangent
calculation. Hence, classical tradeoff between memory consumption and
runtime.
2020-02-21 08:41:08 +01:00
Martin Diehl 1a0f4b185f Merge branch 'development' into simple-output-handling 2020-02-20 22:18:58 +01:00
Martin Diehl ab88ffd28e Merge branch 'MiscImprovements' into development 2020-02-20 22:15:02 +01:00
Martin Diehl d108d76a61 was never read
probably it was optimized away by the compiler, still confusing
2020-02-20 15:08:32 +01:00
Sharan Roongta ef4b7437f3 Input arguments of a function to be declared first. 2020-02-20 14:01:26 +01:00
Martin Diehl dc7e7e5bcc less writing, same functionality 2020-02-14 23:21:58 +01:00
Martin Diehl 420d9bd036 no enums for thermal
better readable, less line of code
2020-02-14 22:50:30 +01:00
Martin Diehl 7311d50df7 final enum removal for plastic laws 2020-02-14 21:41:13 +01:00
Martin Diehl a8e2ee0a86 [skip ci] is read only for other modules 2020-02-14 21:31:03 +01:00
Martin Diehl b1780e71c8 style unification, no enums for output 2020-02-14 09:23:09 +01:00
Martin Diehl 8d6c82e704 no need for enums
they just complicate the code, any performance gain should be negligible
2020-02-14 09:00:14 +01:00
Martin Diehl 486385978c no need for outputID
just adds overhead, one string comparison per output and increment is
computationally not an issue

also unified to PEP recommendation of function description
2020-02-14 08:39:29 +01:00
Martin Diehl 6adb116712 [skip ci] whitespace adjustments 2020-02-14 06:24:17 +01:00
Martin Diehl 4f7bbb323e not needed 2020-02-13 18:43:20 +01:00
Martin Diehl 64e86666c6 also set initial det(Fp)=0
Marc element lib test failed otherwise for type 117
2020-02-13 17:10:27 +01:00