Commit Graph

2812 Commits

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