Commit Graph

2856 Commits

Author SHA1 Message Date
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