Commit Graph

3319 Commits

Author SHA1 Message Date
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
Martin Diehl 0f70a19266 Fp matters, not Fp^-1
mathematically absolutely equivalent, but numerically not. Sometikes makes a
huge difference in convergence behavior, even though abs(det(Fp)-1) is
in the order of 1e-15
2020-02-13 14:48:32 +01:00
Martin Diehl fc82ec9b1b tiny deviations from det(Fp) = 1 cause convergence problems 2020-02-13 09:18:49 +01:00
Martin Diehl fa903c6f35 not needed anymore 2020-02-12 20:50:09 +01:00
Martin Diehl b861ad11c1 tiny differences between orientation conversions result in more
iterations

Seen so far only for plasticityDetectChanges test (confirmed for dislotwin and
phenopowerlaw).
The max difference between the entries of the rotation matrix from
orientation0%asMatrix() and eu2om(Eulers)/eu2om(orientation0%asEulers) is
1e-15. This is the ratio of km/atom radius! Still, the number of
iterations is consistently higher.
Results are the same. I believe this is a strange coincidence where one
particular orientation causes problems. The current version recovers almost the 'good' behavior
of math_EulerToR(Eulers)
2020-02-12 20:49:02 +01:00
Martin Diehl 8770613e9c better readable 2020-02-12 06:26:22 +01:00
Martin Diehl ab475b7c6b need 'error return'
revert from change in 5b72110d
2020-02-12 06:02:37 +01:00
Martin Diehl 08174a119f consistent name 2020-02-11 17:50:07 +01:00
Martin Diehl 5b72110d0a simplified 2020-02-11 17:47:48 +01:00
Martin Diehl e212f91fac print statements prevents reading code
first re-structure and clean, than re-implement where useful
2020-02-11 17:41:30 +01:00
Martin Diehl 6463fcdabd consistent names 2020-02-11 17:36:43 +01:00
Martin Diehl c2c84d698f Merge remote-tracking branch 'origin/development' into MiscImprovements 2020-02-11 17:11:43 +01:00
Franz Roters 81ae66860a Merge remote-tracking branch 'remotes/origin/explicitNonlocal' into development 2020-02-11 10:32:53 +01:00
Martin Diehl a306e473ef use rhoSgl0 (converged situation) 2020-02-11 05:41:10 +01:00
Martin Diehl cd76172d74 debugging PETSc 2020-02-08 09:17:44 +01:00
Martin Diehl 187b3603d3 using new names 2020-02-08 09:08:52 +01:00
Martin Diehl 8f2e345ab4 polishing 2020-02-08 08:19:06 +01:00
Martin Diehl 4c4c052e73 slowly getting newer PETSc versions to work 2020-02-08 07:03:18 +01:00
Martin Diehl 5456ee98f4 still needed (new section was created) 2020-02-08 06:59:37 +01:00
Martin Diehl 984370d7d1 not needed 2020-02-07 18:34:00 +01:00
Martin Diehl e932b386b9 Merge branch 'development' into MiscImprovements 2020-02-07 17:11:01 +01:00
Martin Diehl 5d4d1dcf9a all nonlocal parts are fully explicit
i.e. they are based on converged (partioned0) states
2020-02-07 12:41:01 +01:00
Martin Diehl f854dc27e9 explicit dotState for nonlocal
all flux related quantities are calculated based on the converged
quantities
2020-02-07 12:23:22 +01:00
Martin Diehl 4f4c6c5949 using converged dislocation velocity (from last subinc) 2020-02-07 12:01:54 +01:00
Martin Diehl c7e3ac28f6 preparing data handling for explicit forward of flux 2020-02-07 11:44:03 +01:00
Martin Diehl 1ceba73d31 adopting to PETSc >3.10
thanks to Matthew Knepley from the PETSc team
2020-02-07 09:10:08 +01:00
Martin Diehl 98e5713ce5 Merge branch 'development' into noAbaqus 2020-02-06 18:33:13 +01:00
Franz Roters 47109b903b Merge branch 'plasticity-submodule' into 'development'
Plasticity submodule

See merge request damask/DAMASK!120
2020-02-06 10:13:48 +01:00
Martin Diehl cab000f4b4 not used 2020-02-04 23:52:10 +01:00
Martin Diehl 13ce372684 not used 2020-02-04 23:45:34 +01:00
Martin Diehl 2d74a83dad cleaning 2020-02-03 23:48:09 +01:00
Martin Diehl 9e131c0110 rank 0 takes care of statistics file 2020-02-03 23:09:46 +01:00
Martin Diehl e9dad64f2b use central functionality 2020-02-03 23:01:08 +01:00
Martin Diehl 7bdfd05749 simplified 2020-02-03 22:44:57 +01:00
Martin Diehl c6579f8890 [skip ci] unified 2020-02-03 22:41:52 +01:00
Martin Diehl 1ad79883b4 not needed 2020-02-03 22:33:56 +01:00
Martin Diehl 0ce0bb2d85 better understandable 2020-02-03 21:39:00 +01:00
Martin Diehl 54589a9c56 crystallite does not exist any more 2020-02-02 20:37:05 +01:00
Martin Diehl 588525611b also report correctly negative seeds 2020-02-01 09:04:02 +01:00
Martin Diehl 796fd9a774 natural order 2020-01-31 21:43:45 +01:00
Martin Diehl 042d09a730 names from paper 2020-01-31 21:43:12 +01:00
Martin Diehl 55e53536f2 fixing indentation
always 2 spaces, not 1 for the first level
2020-01-31 21:37:18 +01:00
Martin Diehl 26496976c8 not used anymore 2020-01-31 21:19:15 +01:00
Martin Diehl 0d96c728fe better readable 2020-01-31 07:02:24 +01:00
Martin Diehl 3791c50468 better readable 2020-01-31 06:55:26 +01:00
Martin Diehl f5f397cb70 better readable 2020-01-31 06:52:11 +01:00
Martin Diehl 6ce4ce523a Merge branch 'MiscImprovements' of magit1.mpie.de:/damask/DAMASK into MiscImprovements 2020-01-31 00:13:25 +01:00
Martin Diehl 269d65005b use nomenclature from the DAMASK paper 2020-01-31 00:07:23 +01:00
Martin Diehl 0b8ff64884 store mapping MARC/FEM2DAMASK mapping
do not calculate the mapping for elements and nodes per call on
the fly, rather store it. Not memory efficient in the case that numbers
are not consequtive (order does not matter, but missing nodes/elements
would waste some 2 integers per missing number). However, this seem to cause
problems anyway when range indicators like '1 to 10' are used.
2020-01-30 23:39:59 +01:00
Martin Diehl d54b8714e1 avoid invalid error access 2020-01-29 23:42:50 +01:00
Martin Diehl c2cdcb17f7 wrong string 2020-01-29 23:04:15 +01:00
Martin Diehl 59fe9d06b0 shortening 2020-01-29 22:53:19 +01:00
Martin Diehl 9690f170e1 4 space indentation 2020-01-29 22:44:42 +01:00
Martin Diehl f5bd544b36 [skip ci] was too general 2020-01-29 18:15:49 +01:00
Martin Diehl 9c138c87f0 not needed 2020-01-29 14:57:12 +01:00
Martin Diehl 64be6a277d it's the surface, not the edge 2020-01-29 14:48:15 +01:00
Martin Diehl b938f1a98d polishing
* constants in CAPITALS
* more tests
* 'forall' is deprecated in Fortran 2018
2020-01-29 14:01:14 +01:00
Martin Diehl 348a91d503 Merge branch 'MiscImprovements' of magit1.mpie.de:/damask/DAMASK into MiscImprovements 2020-01-29 13:17:58 +01:00
Martin Diehl 3f96c12e06 avoid code duplication 2020-01-29 11:09:57 +01:00
Martin Diehl 49bfdcecab avoid accessing non-existing chunks
note that Fortran does not shortcut logical expressions, hence the new
function
2020-01-29 09:13:55 +01:00
Martin Diehl b8263519ca ignore empty lines 2020-01-29 08:00:28 +01:00
Martin Diehl 7b0850f929 only read relevant lines 2020-01-29 00:10:05 +01:00
Martin Diehl 57db134c6d polishing 2020-01-28 23:44:07 +01:00
Martin Diehl 5d1f68bf93 Merge branch 'fix-elem-7-57' into noAbaqus 2020-01-27 19:27:53 +01:00
Martin Diehl 6636f56cab Merge remote-tracking branch 'origin/development' into fix-elem-7-57 2020-01-27 19:23:35 +01:00
Martin Diehl fb5e57aa1a WIP: implementing static map for Marc->DAMASK (elem/nodes) 2020-01-26 23:12:48 +01:00
Martin Diehl d2a3fd3ac8 not needed to parse in nElem 2020-01-26 22:51:06 +01:00
Martin Diehl f044b8c42f explain data layout 2020-01-26 21:58:36 +01:00
Martin Diehl 0a1bac6787 flush helps to detect errors 2020-01-26 21:50:43 +01:00
Martin Diehl f546ffb3be polishing 2020-01-26 21:22:55 +01:00
Martin Diehl 79aeea052f does not exist anymore (is not needed) 2020-01-26 21:07:21 +01:00
Martin Diehl f8c5dbea71 typo (MSC.Marc did not compile) 2020-01-26 21:02:32 +01:00
Martin Diehl cda1f4acab more tests
failed unitTests report consistently with "internal error"
2020-01-26 20:53:13 +01:00
Martin Diehl a4134b4552 doing some internal checks
trivial, but better safe then sorry
2020-01-26 20:24:09 +01:00
Martin Diehl 830b05005f read file only once 2020-01-26 19:56:30 +01:00
Martin Diehl 62865e779d polishing 2020-01-26 18:31:56 +01:00
Martin Diehl a6e979ae1f simplified parsing of strings, floats, and ints
invalid characters for interpretation as float and int now raise error,
no warning
requesting invalid chunk now raises error, no warning
2020-01-26 18:23:23 +01:00
Martin Diehl 0eba4e39cc trying to make the whole procedure understandable 2020-01-26 14:18:16 +01:00
Martin Diehl 81fba131f6 variable string length 2020-01-26 13:28:12 +01:00
Martin Diehl decf9371ea avoid issues with unsufficient length of strings 2020-01-26 13:18:29 +01:00
Martin Diehl 3b8dd17e5b avoiding hard-coded constants 2020-01-26 12:25:45 +01:00
Martin Diehl fe22b84d5c maximum path length is 4096 2020-01-26 12:19:36 +01:00
Martin Diehl 9c7f6811a2 use default string length 2020-01-26 12:17:59 +01:00
Martin Diehl 1be37de993 not used (defaults are given in the respective modules) 2020-01-26 11:46:14 +01:00
Martin Diehl 24a8d7ed29 256 (pStringLen) might not be sufficient for file operations 2020-01-26 11:40:25 +01:00
Martin Diehl 9a0d8db23e [skip ci] replacement is done 2020-01-26 10:53:24 +01:00
Martin Diehl ffea69955e polishing and testing
element 11/12 (7/57 for MSC.Marc) have the same geometry type, i.e. both
are a hexahedral with 8 integration points/cells
Type 11 is linear (8 nodes), type 12 quadradic with reduced integration (20 nodes).
The modified definition ensures that the cell nodes 9-20 of element 11
are in the same order as the real nodes 9-20 of element 12. Real nodes
1-8 (corners) and 21-27 needed no modification.

Notes:
 * Documentation on https://damask.mpie.de/Documentation/ElementType is now outdated.
 * Element defition in MSC.Marc manual volume B (2001 version) is
   confusing because element numbering is sometimes clowise and
   sometimes counterclockwise. The latter one seems to be correct
2020-01-26 09:24:32 +01:00
Martin Diehl b16f4155d4 cell definition follows correct order for 11/12 (7/57 in MSC.Marc) 2020-01-26 09:06:45 +01:00
Martin Diehl 7671e257bd reorder elem 11 (Marc 7) to match 12 (Marc 57) 2020-01-26 08:17:59 +01:00
Martin Diehl 2100742a31 better have no support then untested support 2020-01-26 08:17:25 +01:00
Martin Diehl 13107abd39 not working and significat efforts needed to test it 2020-01-26 07:44:22 +01:00
Martin Diehl 8a2a9d3861 avoid direct file operations 2020-01-25 13:30:42 +01:00
Martin Diehl a2e4160e61 read file only once 2020-01-25 10:58:04 +01:00
Martin Diehl ddeebc189a [skip ci] documenting further use 2020-01-25 09:31:27 +01:00
Martin Diehl e532641015 dependency on element not needed for homogeneous meshes 2020-01-25 09:24:42 +01:00
Martin Diehl 624ede8177 clear separation between solver and DAMASK 2020-01-25 09:12:09 +01:00
Martin Diehl bdae2a40cc independent of IO 2020-01-25 08:56:39 +01:00
Martin Diehl bfe8585903 Merge branch 'development' into MiscImprovements 2020-01-24 20:08:14 +01:00
Martin Diehl 5fae924e88 Merge branch 'MiscImprovements' of magit1.mpie.de:/damask/DAMASK into MiscImprovements 2020-01-24 19:58:57 +01:00
Sharan Roongta 3d6ec6955f Merge branch 'PGI-support' into development 2020-01-24 12:24:38 +01:00
Martin Diehl b807406a70 avoid public variables 2020-01-23 14:08:14 +01:00
Martin Diehl f0ad18102d preparing to clean FEsolving
should not have solver dependent functionality
2020-01-23 13:49:12 +01:00
Martin Diehl bd67d2bb6a new mappings have clear name, not (1,2) 2020-01-23 13:16:45 +01:00
Martin Diehl 7f66d4e975 avoid fixed string length
solved issues with wrong trim and is more robust
2020-01-23 11:21:42 +01:00
Martin Diehl 7273f1461c avoid fixed string length where possible 2020-01-23 09:35:41 +01:00
Martin Diehl 1bfd8a8c21 continuousIntValues is very specific for Marc
define where it is used
2020-01-23 08:37:03 +01:00
Martin Diehl 246187865e more flexibility 2020-01-23 08:19:21 +01:00
Martin Diehl cc67b1bd3b automatic length determination for more flexibility 2020-01-23 07:29:38 +01:00
Martin Diehl d28b18267b polishing 2020-01-23 07:19:44 +01:00
Martin Diehl 2c942de45d do no rely on IO functions
should become part of the marc specific code
2020-01-22 08:55:39 +01:00
Martin Diehl 0c4790d468 solver specific, should not be reported here 2020-01-22 08:24:55 +01:00
Martin Diehl d27aac0970 clearer structure 2020-01-21 19:33:22 +01:00
Martin Diehl 0ef0db586f Merge branch 'MiscImprovements' of magit1.mpie.de:/damask/DAMASK into MiscImprovements 2020-01-21 19:24:30 +01:00
Martin Diehl 91d25ec897 rename in PETSc function 2020-01-21 18:18:27 +01:00
Martin Diehl ad2520bec1 compiles with PETSc > 3.10
but does not run
2020-01-21 15:27:11 +01:00
Martin Diehl 8ef3985da7 debug info 2020-01-21 14:58:35 +01:00
Martin Diehl 1857a5e58a skip empty lines (i.e. blank line at the end) 2020-01-21 11:45:11 +01:00
Martin Diehl 9b4f773a0b work around for bug in Intel 2020-01-21 08:43:16 +01:00
Martin Diehl 1a31ff82bb avoid code duplication 2020-01-21 07:46:32 +01:00
Martin Diehl a18057ba4d use central functionality for file IO 2020-01-21 07:37:04 +01:00
Martin Diehl 2e38582824 no need for additional variables 2020-01-21 07:08:02 +01:00
Martin Diehl 47e5b0077a fixed typo 2020-01-21 06:53:32 +01:00
Martin Diehl 843676fb10 grouping variables for better readability 2020-01-21 06:10:19 +01:00
Martin Diehl db96ee0fc2 cleaning 2020-01-20 23:46:48 +01:00
Martin Diehl 80ae2f5f6b no need for public variables 2020-01-20 23:39:24 +01:00
Martin Diehl 4d673866b8 bugfix: copy and paste error 2020-01-20 23:31:51 +01:00
Martin Diehl b98ecccf73 better readable 2020-01-20 21:06:08 +01:00
Martin Diehl 56ab4f723d polishing 2020-01-20 20:36:21 +01:00
Franz Roters 701a9b18cc Merge remote-tracking branch 'remotes/origin/marc-improvements' into development 2020-01-18 12:21:24 +01:00
Martin Diehl d722c6db4a clear separation between OO and imperative arguments 2020-01-14 11:52:22 +01:00
Martin Diehl 9d1c1fdb92 enforce Re(q) > 0 2020-01-14 11:33:18 +01:00
Martin Diehl 27bc23c2e1 missing renames
wondering how this has passed the syntax check earlier
2020-01-14 07:55:18 +01:00
Martin Diehl e70c56701f not needed 2020-01-13 21:09:25 +01:00
Martin Diehl cad6fc7843 Merge branch 'development' into plasticity-submodule 2020-01-13 20:57:12 +01:00
Martin Diehl 544ff9b6ee gfortran rejects (Intel seems fine)
assume a bug, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93251
2020-01-13 16:11:36 +01:00
Martin Diehl bd4db68a12 support for non QUAD cell type 2020-01-13 10:03:13 +01:00
Martin Diehl 0cf27a8229 indicate parameters and report vtk type 2020-01-13 10:02:23 +01:00
Martin Diehl a025edd09f Merge branch 'MoreImprovements' into PGI-support 2020-01-13 01:44:45 +01:00
Martin Diehl 2d294aba23 need to store cell nodes, not elem nodes 2020-01-12 18:32:20 +01:00
Martin Diehl ac0fa2fce9 no need for separate allocation 2020-01-12 16:50:36 +01:00
Martin Diehl eb7bd41acd no need for special functions 2020-01-12 16:08:38 +01:00
Martin Diehl fb8494e2b8 write out nodal displacements
does not work: Not updated and wrong size
2020-01-12 15:42:08 +01:00
Martin Diehl 9d1543c9cc functionality was used only once 2020-01-12 01:54:38 +01:00
Martin Diehl 8aa13a55ce enable handling of connectivity that spreads over multiple lines
same code works also for old style tables, probably some flexibility
regarding non-CP elements is lacking ..
2020-01-12 00:58:12 +01:00
Martin Diehl 46cb787934 avoid HDF5 error when creating link twice 2020-01-12 00:55:00 +01:00
Martin Diehl 5bc1c98da7 use 0-based indexing for worldrank 2020-01-12 00:49:03 +01:00
Martin Diehl ddd8027b8a autodetect string length 2020-01-12 00:10:42 +01:00
Martin Diehl 3938f34978 Merge branch 'MiscImprovements' into MoreImprovements 2020-01-11 22:37:41 +01:00
Martin Diehl 2d9c25f8e5 Merge branch 'development' into MiscImprovements 2020-01-11 20:34:35 +01:00
Martin Diehl d4535dadb4 use American english 2020-01-11 20:33:29 +01:00
Martin Diehl ac112d2d36 tolerance needed for optimized code 2020-01-11 13:55:56 +01:00
Martin Diehl e762cb4dfd issue with gfortran < 9
the false branch of merge seems to be evaluated which results in a
signaling NaN
2020-01-11 12:36:35 +01:00
Martin Diehl 842666cc20 no overlap with Marc's code 2020-01-11 11:25:50 +01:00
Martin Diehl 3a6819f548 check for invalid operations 2020-01-11 05:19:15 +01:00
Martin Diehl f028519597 some facts from wikipedia as tests 2020-01-11 04:59:38 +01:00
Martin Diehl de95ca5906 inverse of a quaternion 2020-01-11 04:15:51 +01:00
Martin Diehl 115716b8c2 polishing/use existing functions 2020-01-11 03:58:12 +01:00
Martin Diehl c7180c3295 some more tests for quaternion operations 2020-01-11 03:50:17 +01:00
Martin Diehl aefd401e8c this is a quaternion class
it is meant to represent any quaternion, not only unit
quaternions/rotations that follow a specific convention. Need to check
in rotations.f90 where the homomorph should happen
2020-01-11 03:11:45 +01:00
Martin Diehl 79cafebffe following https://www.python.org/dev/peps/pep-0257/ 2020-01-11 03:08:39 +01:00
Philip Eisenlohr 3a08a8bbe2 always using intrinsic init when assigning quaternions as output variables 2020-01-10 12:16:18 -05:00
Martin Diehl 115a2552f8 4 newer versions are out 2020-01-10 03:19:39 +01:00
Martin Diehl 87c7a5d5a3 polishing 2020-01-10 02:11:19 +01:00
Martin Diehl 8f43f05437 stronger encapsulation 2020-01-10 01:45:00 +01:00
Martin Diehl 0771411cd8 group similar operations 2020-01-10 01:33:03 +01:00
Martin Diehl 7d2012f492 no need to exclude small values
no danger of division by zero
2020-01-10 01:29:35 +01:00
Martin Diehl 70e23fea93 polishing 2020-01-10 01:28:32 +01:00
Martin Diehl bd6f2a6b5c consistent string length 2020-01-04 19:01:36 +01:00
Martin Diehl 6b6ad52355 use variable string as return (no need for trim) 2020-01-04 18:53:55 +01:00
Martin Diehl 3999c0b630 is not used anymore (and IO_fixedXXXvalue seem to be superfluous) 2020-01-04 17:29:25 +01:00
Martin Diehl bd5f963260 polishing 2020-01-04 16:54:07 +01:00
Martin Diehl 0898cc2605 PGI has problems with forall in this case 2020-01-04 03:18:51 +01:00
Martin Diehl d2a9946f83 PGI compiler has problems with norm2 or dEq 2020-01-04 01:54:19 +01:00
Martin Diehl 00e14b9861 PGI does not allow sum in init for parameter 2020-01-04 01:04:20 +01:00
Martin Diehl e1b35be23a not used anymore 2020-01-03 15:41:46 +01:00
Martin Diehl 326e3d0824 polishing 2020-01-03 14:02:14 +01:00
Martin Diehl 886e111064 not needed 2020-01-03 13:53:23 +01:00
Martin Diehl 2975e46ca1 not needed 2020-01-03 13:52:06 +01:00
Martin Diehl 4ebd89c040 shape is known (no need for automatic allocation) 2020-01-03 13:47:04 +01:00
Martin Diehl a6ddbbd70c cleaning 2020-01-03 12:40:25 +01:00
Martin Diehl d81dc01ce0 we consider indvidual systems, not families 2020-01-03 12:14:20 +01:00
Martin Diehl e1168c09b9 use specialized functions 2020-01-02 21:28:34 +01:00
Martin Diehl c919237998 one loop is enough 2020-01-02 21:02:37 +01:00
Martin Diehl f633c67fe4 polishing 2020-01-02 20:49:02 +01:00
Martin Diehl 1ad8464821 not needed
object-oriented mesh did not work out nicely
2020-01-02 20:38:40 +01:00
Martin Diehl 6a0593bf9e everything is anyway public 2020-01-02 19:47:48 +01:00
Martin Diehl e0110c676e avoid long lines 2020-01-02 18:44:51 +01:00
Martin Diehl 27a6d1d682 private functions do not need a prefix 2020-01-02 15:14:12 +01:00
Martin Diehl ce08571cd8 documentation was outdated 2020-01-02 13:39:52 +01:00
Martin Diehl d4d419b713 better readable 2019-12-30 06:48:55 +01:00
Martin Diehl f9fcaca60b aliases are just confusing 2019-12-26 15:24:51 +01:00
Martin Diehl af0a4c5d26 unused 2019-12-26 15:24:37 +01:00
Martin Diehl be319c5a83 single source of truth 2019-12-25 09:24:42 +01:00
Martin Diehl 0d975e7023 polishing
- default string length
- Nslip/Ntwin/Ntrans not stored in state anymore
2019-12-21 12:42:18 +01:00
Martin Diehl 34af10fac1 using default string length 2019-12-21 12:39:54 +01:00
Martin Diehl 127678e2e1 use default string length 2019-12-21 12:28:24 +01:00
Martin Diehl 27483bafbc non-existing value evaluates to 0 or 1 2019-12-21 11:52:33 +01:00
Martin Diehl 747a340599 unified string length 2019-12-21 11:46:12 +01:00
Martin Diehl 83cf062318 better define only once 2019-12-21 11:19:33 +01:00
Martin Diehl ac182ef536 less variable, same style 2019-12-21 11:13:05 +01:00
Martin Diehl 6678770c43 public variables not needed anymore 2019-12-21 10:43:36 +01:00
Martin Diehl 7baf4e7f53 cleaning 2019-12-21 10:37:18 +01:00
Martin Diehl 91ad5092f4 preparing removal of old output data 2019-12-21 10:31:19 +01:00
Martin Diehl 4dc5dac831 was only needed for postResults 2019-12-21 10:20:50 +01:00
Martin Diehl af6973adf6 HDF5 out is always on 2019-12-21 10:13:52 +01:00
Martin Diehl 6425c37f2d use default string length
256 characters are more than enough for string values and keys
2019-12-21 10:07:37 +01:00
Martin Diehl 19a45d9c2b cleaning of source modules:
- offset and instance are only used locally
- output names are needed only temporarly
- HDF5 is always enabled
2019-12-21 07:55:42 +01:00
Martin Diehl 41650cdd11 use standard string length 2019-12-21 07:38:17 +01:00
Martin Diehl b10e862be8 the compiler can do the counting 2019-12-21 07:34:40 +01:00
Martin Diehl f0d3b29b82 Merge branch 'development' into MiscImprovements 2019-12-21 06:53:56 +01:00
Martin Diehl befd4e2adf avoid imports 2019-12-19 07:49:53 +01:00
Martin Diehl f0ad075802 fixed indentation 2019-12-19 00:01:44 +01:00
Martin Diehl 98e606d6f0 correct type 2019-12-19 00:00:00 +01:00
Martin Diehl 4b6388fbb2 always use HDF5 output 2019-12-18 20:05:51 +01:00
Martin Diehl 63fc125398 include origin do DADF5
requires updat of file version
2019-12-13 09:12:07 +01:00
Martin Diehl ee56b82c8a avoid spaces 2019-12-12 23:22:37 +01:00
Martin Diehl a0a99c526b some remaining IntOut format strings 2019-12-11 19:28:31 +01:00
Martin Diehl 9e801928b0 Merge branch 'development' into noPostResults 2019-12-11 09:28:45 +01:00
Martin Diehl 9b67ead62f removed postResults completely 2019-12-11 00:10:02 +01:00
Martin Diehl 8fb8e9be6e write temperature to DADF5 2019-12-10 20:25:19 +01:00
Martin Diehl db91803b80 cleaning 2019-12-10 17:52:37 +01:00
Martin Diehl ac35759c2f not a module subroutine 2019-12-10 17:25:51 +01:00
Martin Diehl 5681e661e2 DADF5-results replaces postResults 2019-12-10 07:31:09 +01:00
Martin Diehl 4be7aa990c HDF5 results output for constitutive damage models 2019-12-10 06:45:00 +01:00
Martin Diehl 5abe27ab60 only locally used 2019-12-09 06:24:37 +01:00
Martin Diehl 1c18086402 not needed anymore 2019-12-09 05:58:27 +01:00
Martin Diehl 07ebd8d1b3 only damage/thermal 'homogenization' postResults is currently needed 2019-12-09 05:48:37 +01:00
Martin Diehl acc252ea5b thermal/damage constitutive (i.e. source) results are not tested 2019-12-09 05:38:15 +01:00
Martin Diehl c2e91ae5e1 copy and paste error, wrong array was set 2019-12-08 20:52:05 +01:00
Martin Diehl b0ce324213 Merge remote-tracking branch 'origin/development' into simple-int-formatting 2019-12-08 20:24:05 +01:00
Martin Diehl fbe2228ade avoid string length mismatch 2019-12-07 20:22:55 +01:00
Vitesh 3e269f0419 Merge branch 'only-use-rotation-class' into 'development'
Only use rotation class

See merge request damask/DAMASK!110
2019-12-07 17:33:34 +01:00
Martin Diehl 4eacc1d16d polishing 2019-12-07 15:45:37 +01:00
Martin Diehl 23944de6de less variables for better readability 2019-12-07 15:20:04 +01:00
Sharan Roongta 5a6111ec69 Merge branch 'incs-no-leading-zero' into 'development'
Incs no leading zero

See merge request damask/DAMASK!108
2019-12-07 11:32:37 +01:00
Martin Diehl 7ecb0245ec simplified (use novel i0 format specifier) 2019-12-07 11:12:46 +01:00
Martin Diehl 137b235bc1 i0 format specifier easier then hand-written IO_intOut
using variable pStringLen allows string assignment without length issues
2019-12-07 11:06:39 +01:00
Martin Diehl 04492eeb0a Merge branch 'almost-no-postResults' into only-use-rotation-class 2019-12-05 19:42:50 +01:00
Martin Diehl 78e96993df Merge branch 'almost-no-postResults' into only-use-rotation-class 2019-12-05 19:41:32 +01:00
Martin Diehl f585e1a553 not used 2019-12-05 11:20:05 +01:00
Martin Diehl ab1f0dc16b submodules allow inter-module communication 2019-12-04 22:31:15 +01:00
Martin Diehl 7d6a57dc17 Merge branch 'only-use-rotation-class' into plasticity-submodule 2019-12-04 19:02:01 +01:00
Martin Diehl cb0d39eee6 not needed anymore 2019-12-04 19:00:56 +01:00
Martin Diehl 58a190ede8 Merge branch 'development' into incs-no-leading-zero 2019-12-04 05:19:38 +01:00
Martin Diehl 93da6d3f63 was not used 2019-12-02 23:07:01 +01:00
Martin Diehl c36a5bdfbb bugfix: calculation of size of postResults was wrong 2019-12-02 23:06:28 +01:00
Martin Diehl 9882c3532a avoid use of low-level HDF5 routines 2019-12-02 22:26:08 +01:00
Martin Diehl 4ee2e551b8 migrating to submodules 2019-12-02 22:15:34 +01:00
Martin Diehl 226b715c46 file names reflect hierarchical structure 2019-12-02 21:38:41 +01:00
Martin Diehl e52a747774 submodules allow inter-module communication 2019-12-02 20:57:18 +01:00
Martin Diehl f5292019e5 use rotation class 2019-12-02 20:23:50 +01:00
Martin Diehl 8a9d3f8d6d avoid code duplication 2019-12-02 20:09:27 +01:00
Martin Diehl 83453d10ef use rotation class for consistent handling of rotations 2019-12-02 16:37:22 +01:00
Martin Diehl be099e38c2 might be of use 2019-12-02 16:22:27 +01:00
Martin Diehl 8189b50509 same functionality but tested 2019-12-02 12:58:23 +01:00
Martin Diehl 2969a53338 not used/needed anymore 2019-12-02 12:54:45 +01:00
Martin Diehl f85ee7d7fb plasticity is postResults-free 2019-12-02 12:39:44 +01:00
Martin Diehl 2b3b26087f consistent names 2019-12-01 20:07:16 +01:00
Martin Diehl 05aa38cc71 using short names 2019-12-01 15:05:49 +01:00
Martin Diehl bb152a171a consistent naming among plasticity laws 2019-12-01 10:32:45 +01:00
Martin Diehl 1cf1da5bcc consistent naming 2019-12-01 09:35:44 +01:00
Martin Diehl 33c090d2ac pointers for better readability 2019-12-01 08:55:24 +01:00
Martin Diehl afad2f2dce short and consistent naming 2019-12-01 08:39:30 +01:00
Martin Diehl df4b642400 polishing 2019-12-01 08:33:04 +01:00
Martin Diehl 07fb915a7e postResults not needed anymore 2019-12-01 08:27:56 +01:00
Martin Diehl c7d675a1e9 not needed anymore 2019-11-30 16:03:18 +01:00
Martin Diehl d93fb12e8c remove extra output
current implementation was not very general, no separation of different
dislocation types.
if output is needed, re-implemenation is straight forward
2019-11-30 14:36:54 +01:00
Martin Diehl 8f77843b0f improved naming
- clearer variable names
- no '-' in attributes
- single source of truth
2019-11-30 09:01:37 +01:00
Martin Diehl dc3fc8f70c do not clutter with leading zeros 2019-11-29 17:00:48 +01:00
Martin Diehl 530f2d3c08 Merge branch 'no-crystallite' into almost-no-postResults 2019-11-25 21:51:15 +01:00
Martin Diehl 67c8d3899d crystallite output fully removed 2019-11-25 08:44:44 +01:00
Martin Diehl 127a29ab1a cleaning 2019-11-24 13:42:19 +01:00
Martin Diehl 97474e05a8 not needed anymore 2019-11-24 11:01:04 +01:00
Martin Diehl e20477099e no crystallite output 2019-11-24 09:46:46 +01:00
Martin Diehl 50b48b8bf7 IP neighbourhood deprecated
trivial for grid and, hence, not written out.
Test for marc/abaqus/mesh would make more sense
2019-11-24 07:54:34 +01:00
Martin Diehl a6a6519678 more local data handling 2019-11-24 07:44:17 +01:00
Martin Diehl bb73a08cf4 better encapsulation
for results operations, do not rely directly on HDF5 module
2019-11-24 07:27:05 +01:00
Martin Diehl 1c10459a5a also use fast operation order 2019-10-30 21:09:17 +01:00
Martin Diehl ffb112b0d8 Merge branch 'development' into DADF5-improvements 2019-10-30 17:16:54 +01:00
Martin Diehl 368d4debda calculate average nodal position directly
no need to average and have second memory access
2019-10-30 14:49:08 +01:00
Martin Diehl 40507846c9 cell displacement are between nodes which start at (0,0,0) 2019-10-30 14:47:42 +01:00
Martin Diehl 1d2d7d1ea3 remove public variables
they make code unreadable and unmaintainable
2019-10-29 23:24:12 +01:00
Martin Diehl 0c6b7e1112 not nice, but working ... 2019-10-29 23:15:02 +01:00
Martin Diehl 402e681cf5 initialization of arrays for fourier transform more reasonable
- padding entries in real data array need to be zero
- all values of the fourier data arrays are explicitly set
2019-10-29 16:18:58 +01:00
Martin Diehl 1ae33cf215 avoid one loop and use filtered frequencies 2019-10-29 09:15:35 +01:00
Martin Diehl f451d19c1e forall is obsolete
some calculation simplified
2019-10-28 21:27:57 +01:00
Martin Diehl c47f516769 do not correct fluctuations 2019-10-28 21:16:43 +01:00
Martin Diehl ed8834e371 maybe we can do some guessing for CPFEM .. 2019-10-28 13:38:30 +01:00
Martin Diehl d1f719d3cf separation of "age" and "forward" not useful 2019-10-28 13:36:36 +01:00
Martin Diehl 8de6fcfc24 unifying names 2019-10-28 13:29:32 +01:00
Martin Diehl ab4a98fb53 make use of HDF5 and structure data 2019-10-28 13:17:05 +01:00
Martin Diehl 10f2c53256 clearly distiguish
- DAMASK as a materialpoint model (CPFEM, not fitting name)
- solver
2019-10-25 08:30:12 +02:00
Martin Diehl 07d8379313 further untangling 2019-10-25 07:55:23 +02:00
Martin Diehl cf8b16c066 better have one function per task
but separating ageing and forward for the solver is not trivial due to
guessing
2019-10-25 07:31:09 +02:00
Martin Diehl eb4cad17b5 avoid public variables 2019-10-25 00:53:48 +02:00
Martin Diehl 378729f5c4 clearer structure 2019-10-25 00:42:59 +02:00
Martin Diehl 9db5cbb667 trying to get rid of a global "restartWrite" variable 2019-10-24 22:50:30 +02:00
Martin Diehl 3d44e7598e works only for MSC.Marc 2019-10-24 13:57:14 +02:00
Martin Diehl 0bc4326618 better have one function per task 2019-10-24 13:46:36 +02:00
Martin Diehl 7c0bb2fdf8 consistent description 2019-10-24 13:37:40 +02:00
Martin Diehl 71def397d5 no need to age before writing restart data 2019-10-24 13:14:40 +02:00
Martin Diehl 176f6028cd CPFE2 writes current variables (like grid solvers) 2019-10-24 13:06:42 +02:00
Martin Diehl c1cf64bf00 was not used/tested 2019-10-24 12:15:22 +02:00
Martin Diehl c0c0831c92 multiple keyword are more confusing then helpful 2019-10-24 06:37:28 +02:00
Martin Diehl 50769b52a5 don't continue if calculation did not converge 2019-10-24 06:32:46 +02:00
Martin Diehl 0483fc7b3f small functions with one task are better 2019-10-24 06:16:42 +02:00
Martin Diehl 534073358e arguments are better than public variables 2019-10-23 23:06:47 +02:00
Martin Diehl 67228b46a6 modularize 2019-10-23 22:50:01 +02:00
Martin Diehl 52190382ac cleaning 2019-10-23 22:42:46 +02:00
Martin Diehl dfe65e406d restart for commercial FE solvers untested
better no code than unreliable code. If functionality is needed,
implement it without the use of publicly writeable variables
2019-10-23 22:13:31 +02:00
Martin Diehl 8a4a5a8bef Merge remote-tracking branch 'origin/development' into age-separately-2 2019-10-23 22:05:30 +02:00
Martin Diehl e1d820bff1 does not support restart 2019-10-23 22:04:50 +02:00
Martin Diehl 60a19c020d cleaning 2019-10-23 21:17:56 +02:00
Martin Diehl ac0149e55e not needed (is initialized to 0) 2019-10-21 11:48:35 +02:00
Martin Diehl 0b4605361b plotv only needed for postResults 2019-10-20 19:23:50 +02:00
Martin Diehl 872c85112f bugfix, Lp not available anymore for crystallite 2019-10-20 14:02:12 +02:00
Martin Diehl b96bd71b09 postResults not needed anymore 2019-10-20 13:24:47 +02:00
Martin Diehl f93336b072 postResults for isotropic not needed anymore 2019-10-20 13:21:51 +02:00
Martin Diehl 11993a3ad1 phasing out crystallite output
some outputs are still needed for a few remaining tests.
2019-10-20 12:03:08 +02:00
Martin Diehl fe94718bcd avoid accessing null-pointer 2019-10-20 10:32:14 +02:00
Martin Diehl 65eb4e364f phasing out postResults 2019-10-19 23:14:17 +02:00
Martin Diehl 603973e963 correct output for multipe integration points 2019-10-19 19:55:00 +02:00
Martin Diehl 3de605d782 better name 2019-10-19 16:06:01 +02:00
Martin Diehl 1253c6abf1 Merge remote-tracking branch 'origin/development' into labeled-systems 2019-10-18 19:31:08 +02:00
Sharan Roongta 2c0264191e typo! 2019-10-18 17:13:19 +02:00
Martin Diehl de912c22b4 Merge branch 'development' into HDF5-spectral-displacements 2019-10-18 12:54:12 +02:00
Franz Roters fea6c268a8 Merge branch 'nonlocal-again-with-Marc' into 'development'
Nonlocal again with marc

See merge request damask/DAMASK!99
2019-10-18 11:30:15 +02:00
Franz Roters 7ddb724861 [skip ci] corrected wrongly copied comment 2019-10-18 11:27:37 +02:00
Sharan Roongta cebbfc906d Merge branch 'hex-reorder-2ndtry' into development 2019-10-17 14:58:43 +02:00
Martin Diehl b9027e3257 checking size of unallocated array does not work 2019-10-17 08:40:05 +02:00
Martin Diehl 88df7f2957 store cell normal directions 2019-10-17 07:48:57 +02:00
Martin Diehl b386dc73b2 enable to non-transposed tensor data
usually, we store per data per cell, i.e. len(shape(x)) == 3 means x is
a tensor.
Due to the use of transposed tensors (due to column-major storage order
in Fortran), we usually want to store the transpose of (3x3) tensors.
Now the default can be changed
2019-10-17 07:46:20 +02:00
Martin Diehl 008f717c08 avoid reading from file 2019-10-17 06:10:00 +02:00
Martin Diehl 2b68c108f0 read from memory, not from file 2019-10-17 05:54:08 +02:00
Martin Diehl f33a99d125 polishing 2019-10-17 00:21:48 +02:00
Martin Diehl 3f481e1cea corrected volume calculation and write to DADF5.
follows https://www.osti.gov/servlets/purl/632793/
2019-10-16 22:00:25 +02:00