Commit Graph

894 Commits

Author SHA1 Message Date
Martin Diehl 1a34a6f7b5 some useful tensor operations 2019-10-18 20:41:39 +02:00
Martin Diehl 47ba7d49b5 allow to use the same label twice in a function 2019-10-18 20:39:00 +02:00
Martin Diehl de912c22b4 Merge branch 'development' into HDF5-spectral-displacements 2019-10-18 12:54:12 +02:00
Franz Roters 91691744c6 Merge branch 'Marc-No-nonlocal' into 'development'
Marc no nonlocal

See merge request damask/DAMASK!98
2019-10-15 10:35:37 +02:00
Martin Diehl 708bbd3cb9 mesh/grid type transparent handling of coordinates 2019-10-12 16:15:04 +02:00
Martin Diehl b208fa6565 takeover from Vitesh's work with small adoptions to current DADF5 2019-10-12 08:02:57 +02:00
Martin Diehl 0eef73935e handling of derived types (orientation for the moment) 2019-10-11 08:35:21 +02:00
Martin Diehl b8a1a5bb7d v 0.2 is ok, not sure what the future brings so better check 2019-10-03 20:23:49 +02:00
Martin Diehl 0b29d08109 bump to DADF5 v0.3
contains displacements (for grid solver)
2019-10-03 19:02:17 +02:00
Martin Diehl 62fb4d2ea9 polishing 2019-10-01 14:30:09 -07:00
Martin Diehl e96eb55edd calculate different strain tensors 2019-09-30 14:28:58 -07:00
Martin Diehl 0e3b09adc1 negative eigenvalues are not possible
left/right Cauchy-Green Deformation Tensors are positive definit
https://de.wikipedia.org/wiki/Deformationsgradient
2019-09-30 14:12:15 -07:00
Martin Diehl d95a795e3b Merge branch 'MiscImprovements' into HDF5-spectral-displacements 2019-09-30 13:53:24 -07:00
Martin Diehl 0dd14a0652 correct reporting of version 2019-09-30 09:07:56 -07:00
Martin Diehl 457f9aa4e3 prospector found duplicated key 2019-09-30 08:53:53 -07:00
Martin Diehl 3206ee04bc nodal displacements for grid solver
currently for non-MPI only
2019-09-27 20:38:02 -07:00
Martin Diehl 970d172160 correct message 2019-09-27 17:52:01 -07:00
Martin Diehl ad83c8541d same names as in python 2019-09-20 17:18:09 -07:00
Martin Diehl fb61899c5f seems that testing has Marc 2018.1 already 2019-09-20 20:54:30 +02:00
Martin Diehl 0b6620bfb7 Merge branch 'development' into MiscImprovements
F***ing commits to development!
2019-09-20 07:40:52 -07:00
Martin Diehl 4b2263bebe conversion to float causes issues
test only current version of MSC.Marc
2019-09-20 03:21:53 +02:00
Yang Su 6fdab024b6 ensure that integer inputs to Rotation.fromX() translate into float quantities 2019-09-19 17:03:31 -04:00
Martin Diehl 7fd4b8bff6 more prospector hints 2019-09-19 12:51:16 -07:00
Martin Diehl f1f88610dd documenting 2019-09-19 12:32:15 -07:00
Martin Diehl 2e25a03d13 adopting to new prospector 2019-09-19 11:56:58 -07:00
Martin Diehl 35a009f513 prospector complaind
help details were anyway pretty useless
2019-09-19 11:41:41 -07:00
Martin Diehl 32639caec2 better readable 2019-09-19 11:12:44 -07:00
Martin Diehl bf7db26680 Merge branch 'even-more-HDF5-postprocessing' into MiscImprovements 2019-09-19 10:49:14 -07:00
Philip Eisenlohr 76b08e10bd following stricter Python docstring standards 2019-09-18 21:43:43 -04:00
Martin Diehl 4994c86e67 bugfix: hard-wired keyword resulted in missing materialpoint results 2019-09-16 13:31:49 -07:00
Martin Diehl ee1327c519 [skip ci] typo 2019-09-16 11:21:06 -07:00
Martin Diehl 28bb92021d avoid code duplication 2019-09-16 11:04:05 -07:00
Martin Diehl 980c02b0c3 selected increments by simulation time 2019-09-15 20:19:14 -07:00
Martin Diehl 86fb0a7942 time info needed for filtering of increments 2019-09-15 20:04:52 -07:00
Martin Diehl b3b710c848 polishing 2019-09-15 19:56:07 -07:00
Martin Diehl 4cedcee0b4 handling of increments follows handling of other 'visible'-items 2019-09-15 17:08:03 -07:00
Martin Diehl f6ac8c995f simplified and selected better names 2019-09-15 16:00:19 -07:00
Martin Diehl c76d4d3f87 avoid unneeded arguments 2019-09-15 15:24:23 -07:00
Martin Diehl 88eba27cec avoid name duplication + polishing 2019-09-15 15:10:32 -07:00
Martin Diehl 04aefa84bc more appropriate names 2019-09-15 15:02:16 -07:00
Martin Diehl d413aef7c3 functionality for general calculations on datasets
currently limited to vectorized expressions.
2019-09-14 12:00:23 -07:00
Martin Diehl 8251725bce WIP: different norm types 2019-09-14 10:53:33 -07:00
Martin Diehl e4e9c5f558 support glob matching
more flexibility in selecting active datasets and groups
2019-09-14 09:55:42 -07:00
Martin Diehl b85ac11c49 implemented ideas from discussion with Philip
group matching unified and with wildcard support
time step handling should become more convenient (WIP)
add_norm can not compute abs of scalar, added function for that
general polishing here and there
2019-09-14 09:07:23 -07:00
Martin Diehl c13db4b3ca renaming
on_air/active are not clear. visible seems to be the most appropriate
name
2019-09-13 21:49:22 -07:00
Martin Diehl 898f53295d iter functions for groups
restore original selection after iterating (i.e. temp setting of active)

polishing: correct names and more details for HDF5 meta data
2019-09-13 21:14:52 -07:00
Martin Diehl 69462f8190 polished
strain calculation agrees up to 1e-4 with results from addStrainTensors.
Not too exciting, but ok
2019-09-13 19:37:25 -07:00
Martin Diehl 38f6609ad7 high level functions for selecting output
tested Cauchy stress calculation (comparison with addCauchy.py)
2019-09-13 18:36:06 -07:00
Martin Diehl c5006e264b handling prospector complaints 2019-09-13 16:07:39 -07:00
Martin Diehl 002383afc2 solved problem with postprocessing
- to not 'try' with h5py library, it might have another 'try'. Check
explicitly for empty argument

also some polishing
2019-09-13 16:01:30 -07:00
Martin Diehl b2b625af3e notes from discussion with Philip 2019-09-13 15:17:46 -07:00
Martin Diehl f83a167414 file mode for high level funtion not useful 2019-09-13 09:49:30 -07:00
Martin Diehl 6f008c5d5f rewrite pointwise add function
- all vectorized: Much faster
- passing in all relevant information allows to do sanity checks and add
useful meta data in HDF5
- improved readability
2019-09-13 06:02:42 -07:00
Martin Diehl 3db3e9e762 preparing for use of optional arguments to function 2019-09-11 21:20:14 -07:00
Martin Diehl de313269d9 bugfix 2019-09-11 18:54:54 -07:00
Martin Diehl 953ba53211 adjusting for strict prospector checking 2019-09-11 18:22:33 -07:00
Martin Diehl a6c69a744b do operations vectorized 2019-09-11 17:57:24 -07:00
Martin Diehl 462bb07efd Merge branch 'development' into even-more-HDF5-postprocessing 2019-09-11 16:29:44 -07:00
Martin Diehl bc893762ec no need to inverse a rotation, transpose is faster 2019-09-11 07:29:34 -07:00
Martin Diehl fa2c100d6a need to update microstructure to get grid update 2019-09-04 20:20:55 -07:00
Martin Diehl f415a8cad2 Merge branch 'PythonProspectorRules' into even-more-HDF5-postprocessing 2019-09-04 14:23:07 -07:00
Martin Diehl 28c11cc373 bugfix
-update function was resetting size if not given
-dim does not work an all terminals, therefore also emph new values in
addition to dim old ones
2019-09-04 11:14:44 -07:00
Martin Diehl ef285b482f more references + citation style correction 2019-09-04 08:55:05 -07:00
Martin Diehl 6f07a20919 not sure what this code was intended to do 2019-09-03 17:23:26 -07:00
Martin Diehl 3657f81c59 documenting (in accordance with new prospector rules) 2019-09-03 17:18:06 -07:00
Martin Diehl a428a924eb DAMASK default citation style 2019-09-03 16:34:02 -07:00
Martin Diehl 97fc8a4029 following python3 recommendations 2019-09-03 15:44:28 -07:00
Martin Diehl 234019bb4d dummy stuff not needed 2019-09-03 15:41:16 -07:00
Martin Diehl b0d3615d67 more detailed documentation 2019-09-03 15:32:01 -07:00
Martin Diehl 7d48764999 added documentation and references 2019-09-03 15:25:25 -07:00
Martin Diehl a073f36471 update for solver wrappers 2019-09-03 09:48:42 -07:00
Martin Diehl fea16327ac now properly escaped 2019-09-02 23:42:34 -07:00
Martin Diehl d84cef4fab pep8: W605 / invalid escape sequence '\ ' seems to be a false positive 2019-09-02 23:37:52 -07:00
Martin Diehl 9cf4f9537e documenting 2019-09-02 23:23:46 -07:00
Martin Diehl ba395977db adjusting to new prospector 2019-09-02 11:09:03 -07:00
Martin Diehl 34b3beda27 DefaultMap needed for newer paraview 2019-09-02 10:51:32 -07:00
Martin Diehl c51cf8d506 transferring post processing capabilities 2019-07-15 13:55:14 -07:00
Martin Diehl b6bb8a4650 simple strain calculation for DADF5
further enhancement requires to give optional arguments to
add_genericpontwise
2019-07-06 21:41:29 -07:00
Martin Diehl b6830b3ac1 Merge branch 'development' into even-more-HDF5-postprocessing 2019-06-14 10:28:22 +02:00
Martin Diehl cede188e76 enable to explicitly set the environment
required for running MPI processes when mpi4py is imported
2019-06-07 17:51:27 +02:00
Martin Diehl 1186bd16f5 Merge branch 'development' into even-more-HDF5-postprocessing 2019-06-04 22:39:10 +02:00
Philip Eisenlohr dff690611e fixed origin bug in VTK; VTK can be float; size defaults to 1 as longest dimension 2019-06-03 13:29:30 -04:00
Martin Diehl bf27505faa Merge branch 'development' into geometry-class 2019-05-31 16:21:50 +02:00
Martin Diehl 37de73535d following PEP style guide 2019-05-30 20:08:39 +02:00
Martin Diehl 4cb0ba3803 not needed anymore 2019-05-30 19:26:41 +02:00
Martin Diehl 46f0ad052e direct support for vtk output
- geom_check can now handle multiple files
- microstructure index is stored as integer in vtk file
2019-05-30 15:35:45 +02:00
Martin Diehl b00581f1be less picky on allowed datatypes 2019-05-30 13:29:29 +02:00
Martin Diehl 931fa9d36a standardized and cleaned
-write to file if given
-type casting is done in the geom class
2019-05-30 10:20:07 +02:00
Martin Diehl f30eda0267 no need to loop over files
will procude the same file over and over again
2019-05-30 09:32:37 +02:00
Philip Eisenlohr 17168525b6 use srepr in __repr__ 2019-05-29 18:14:30 -06:00
Martin Diehl 6e790e845a correct rescaling 2019-05-29 19:36:02 +02:00
Martin Diehl 669ca82ce1 formatted return message also on interactive shells 2019-05-28 09:05:10 +02:00
Philip Eisenlohr 1f56ac6a4a streamlining and bugfixing of geom-class 2019-05-27 22:45:34 -06:00
Martin Diehl b69f0efbbc improved and simplified reporting 2019-05-27 22:00:26 +02:00
Martin Diehl 615a4ab40f keep float datatype
based on the assumption, that no mixed float/int data is stored
2019-05-27 09:56:15 +02:00
Martin Diehl 6e06764e2d using (enhanced) central functionality 2019-05-27 08:38:02 +02:00
Martin Diehl b5cec797c0 cleaned 2019-05-26 23:03:31 +02:00
Martin Diehl c8dfba89e5 using class
still a very complex script
2019-05-26 22:49:05 +02:00
Martin Diehl 0da39b0c69 copy and paste error 2019-05-26 22:08:42 +02:00
Martin Diehl 0039ac9551 always add comment at beginning
usually, comments are related to the file history
2019-05-26 21:32:48 +02:00
Martin Diehl 7a500e77b1 not needed (DADF5 is the modern alternative) 2019-05-26 20:53:59 +02:00
Martin Diehl 07c9b8b8f0 avoiding unwanted changes 2019-05-26 20:28:19 +02:00
Martin Diehl feb2340935 self-reporting functionality for updating 2019-05-26 17:58:54 +02:00
Martin Diehl dcb79afc84 more user friendly errors 2019-05-26 12:03:21 +02:00
Martin Diehl be3513d1e0 polishing.
python imports follow PEP8
2019-05-26 09:49:56 +02:00
Martin Diehl 9f63d768de do not keep whitespaces 2019-05-25 13:48:38 +02:00
Martin Diehl 875643c363 same style 2019-05-25 10:24:45 +02:00
Martin Diehl 4788fc6046 making use of new class
@philip: 1D arrangement needed?
2019-05-25 08:37:02 +02:00
Martin Diehl cf374a04dc using new class 2019-05-25 08:21:00 +02:00
Martin Diehl 7b6003fb32 no need for numpy.loadtxt (not compatible with 'to' and 'of' compression 2019-05-25 08:17:51 +02:00
Martin Diehl 420abfa162 use new class 2019-05-24 22:34:27 +02:00
Martin Diehl f20c8fcffd easier generation and modificaton of grid geometries
fits better than the general ASCII table class
2019-05-24 22:30:25 +02:00
Martin Diehl a280f9a4a2 polishing 2019-05-23 17:26:38 +02:00
Martin Diehl f6dda99bfb more post processing functionality 2019-05-23 08:54:20 +02:00
Martin Diehl e7ca371b14 routines to do pointwise operations 2019-05-20 19:56:45 +02:00
Martin Diehl 118c74a268 enable materialpoint output again
accidently lost during a former commit
2019-05-16 22:01:12 +02:00
Martin Diehl 339b86f784 bugfix + more verbose reporting 2019-05-16 11:44:03 +02:00
Martin Diehl 9f7fa5393a fix for scalar datasets 2019-05-16 09:31:13 +02:00
Martin Diehl 3c0c0a2cd1 more flexible in selecting data 2019-05-16 00:27:06 +02:00
Martin Diehl c6863a6124 also consider homogenization/materialpoint results 2019-05-15 23:38:24 +02:00
Philip Eisenlohr 4c7af713f1 added explicit method Rotation.fromBasis, which can treat real and reciprocal basis sets 2019-05-14 12:59:21 -04:00
Martin Diehl f3c77cde87 Merge branch 'development' into MiscImprovements 2019-05-06 16:16:39 +02:00
Martin Diehl 9b0d3def1d small changes suggested by Franz 2019-05-05 22:38:06 +02:00
Martin Diehl 39cc9e35ae Merge branch 'development' into orientation_with_averaging 2019-05-05 22:12:09 +02:00
Martin Diehl ebf01dee4f store grid/size at geometry group
as outlined in the DAMASK results paper
2019-05-03 06:46:22 +02:00
Martin Diehl b8bf329a74 Merge branch 'development' into MiscImprovements 2019-04-30 00:02:35 +02:00
Martin Diehl c72518e52b reflects current temp files 2019-04-28 07:22:12 +02:00
Martin Diehl a5c620379b tools to build a python wheel distribution 2019-04-26 20:54:58 +02:00
Martin Diehl 1ccc967544 enables auto include 2019-04-26 19:24:22 +02:00
Martin Diehl 1b9355327a WIP: preparing for PIP package 2019-04-26 19:08:59 +02:00
Martin Diehl 009a47ad72 make python package independent from rest of DAMASK
https://packaging.python.org/guides/single-sourcing-package-version/
2019-04-25 20:05:42 +02:00
Martin Diehl 64c9a367c0 always install post processing scripts into {$DAMASK_ROOT}/bin
custom installation directions will be made available by more standard
approaches
2019-04-25 07:21:42 +02:00
Martin Diehl 53f6a4e030 too specific
- only works at MPIE
2019-04-25 06:00:56 +02:00
Martin Diehl 1330730717 inFZ needs 'proper' Rodriques--Franck vector 2019-04-19 09:04:54 +02:00
Martin Diehl b97f10b6ff forgotten changes in last commit + fromRandom 2019-04-19 08:17:02 +02:00
Martin Diehl feca9fe0a0 Again changes to the return values.
A python function with no return value returns 'None'
2019-04-19 08:04:04 +02:00
Martin Diehl 9a43c2e4c5 fixed return values
- homomorph, standardize, etc. are silent in-place operations (return
None)
- homomorphed, standardized, etc. are out-of place operations that
report
2019-04-19 01:05:48 +02:00
Martin Diehl 25518df80c fixes to quaternion class
- always store data as float (solves issues with truediv)
- fixed in-place multiplication and division
- consistent handling of "..ed()" functions
2019-04-19 00:44:12 +02:00
Philip Eisenlohr 4183eeaeca [skip ci] disorientation may return full-fledged orientation obj and aux info, added rotation.standardize(d) 2019-04-18 18:06:00 -04:00
Martin Diehl c4f56703a4 proper definition of homomorph 2019-04-18 17:11:51 +02:00
Martin Diehl 7570b187e7 do explicit homomorphing
only in cases when the underlying math cannot guarantee that the
resulting quaternion follows the convention
2019-04-18 16:26:05 +02:00
Martin Diehl e8464814ae explicit is better than implicit
- if the quaternion does not follow the convention, use
"fromQuaternion(acceptHomomorph=True)"
2019-04-18 14:46:12 +02:00
Martin Diehl 71b0036323 return rotation as misorientation 2019-04-18 14:26:53 +02:00
Martin Diehl 481aac7952 misorientation calculation did not always follow convention
- return homomorphed quaternion to ensure that real component is > 0
(equivalent to have axis angle limited to [0, pi]
2019-04-18 13:46:58 +02:00
Martin Diehl b746b841f7 not needed 2019-04-18 12:04:36 +02:00
Martin Diehl 6b7fd6b7ea visualizing data from DADF5: first prototype 2019-04-18 11:58:17 +02:00
Martin Diehl 7177813710 adding data to geometry 2019-04-17 19:57:16 +02:00
Martin Diehl fdd5b93e7c avoid FPE exceptions 2019-04-17 15:19:41 +02:00
Martin Diehl a6e6db0559 more stable/robust conversions 2019-04-17 12:52:48 +02:00
Martin Diehl 079e683dd1 disorientation returns Orientation, not Rotation 2019-04-17 10:48:18 +02:00
Martin Diehl 3f8c16262e fixed import statement
previous form only worked in python/damask folder
2019-04-17 09:45:18 +02:00
Martin Diehl 8609eb6eb7 improved names and layout 2019-04-17 09:34:49 +02:00
Martin Diehl c7c6627dfb don't try to figure out the input 2019-04-17 08:49:26 +02:00
Martin Diehl fa18200447 quaternion is now in separate module
avoid long modules with multiple, only loosely related classes
2019-04-17 08:46:03 +02:00
Martin Diehl d842902a76 consistent ordering
- qu, om, eu, ax, ro, ho, cu
2019-04-16 21:47:29 +02:00
Martin Diehl 8eb1a35dfb first version of a library to parse HDF5
- preliminarly called DADF5 (DAMASK HDF5)
- script to write (empty undeformed) geometries is also added
2019-04-13 11:25:53 +02:00
Philip Eisenlohr 3a7408a213 averaging possible for rotations and orientations; Rodrigues 3Dvector output only at top-level; code reordering 2019-04-12 09:03:47 -04:00
Philip Eisenlohr 3d6eb76da3 equivalentOrientations accepts scalar argument to directly return single rotation object (not single element list) 2019-04-11 19:07:41 -04:00
Philip Eisenlohr 2190c3ef46 fixed serious disorientation bug; sorted transformation functions 2019-04-11 18:32:07 -04:00
Philip Eisenlohr b8285d5749 restored orientation averaging capability 2019-04-11 17:23:04 -04:00
Martin Diehl 019d1a9c5c [skip ci] reference was wrong 2019-04-08 22:23:40 +02:00
Martin Diehl dd51945570 checking for input errors 2019-03-28 07:25:20 +01:00
Martin Diehl 85a535b99c is not used anymore 2019-03-07 22:35:43 +01:00
Martin Diehl 12587be595 was not used anymore
status bar can be used as a replacement, it does to flood log files as
extensively as the background thread
2019-03-07 20:48:09 +01:00
Philip Eisenlohr eada10548e [skip ci] no blank line after progress bars 2019-02-27 08:38:06 -05:00
Martin Diehl e88182b007 improved converte, now with test
still needs to figure out how +P is handled
2019-02-24 14:39:34 +01:00
Martin Diehl 56781dfa5b fiber was never used here and will be remove anyway
more user friendly formatting
2019-02-24 10:32:28 +01:00
Martin Diehl 73f6cb7020 fixed datatype 2019-02-24 09:12:21 +01:00
Martin Diehl d3ac3cc0f5 using new Orientation class 2019-02-24 08:34:20 +01:00
Martin Diehl 9dc8dff4b1 cleaning and adding compatibility layer 2019-02-23 22:35:04 +01:00
Martin Diehl b3455c825e transition to new orientation class
forward-backward conversion quite stable
2019-02-23 21:49:05 +01:00
Martin Diehl 93ae5cbd07 Merge remote-tracking branch 'origin/development' into 10-consistent-orientation-conversions-3 2019-02-22 23:05:36 +01:00
Martin Diehl 43376c39d8 addGrainID parses in quaternion 2019-02-22 11:25:39 +01:00
Martin Diehl 907f7ca560 transition to new class 2019-02-21 13:33:22 +01:00
Martin Diehl 88fc37d8a7 some more work on python3 compatible scripts 2019-02-15 16:22:52 +01:00
Martin Diehl 8b82941014 only Abaqus 2019 is available 2019-02-15 14:26:08 +01:00
Martin Diehl c50078bafc short version not needed any more
Abaqus version is year
2019-02-15 14:22:26 +01:00
Martin Diehl 608852df83 rotation paper has angle as last component 2019-02-12 10:58:38 +01:00
Martin Diehl 7da8980cc0 bugfixes: wrong shape, wrong conversion 2019-02-12 09:04:35 +01:00
Martin Diehl 336a80091f rodrigues is 4-vector with rotation being the last component
established a single source of truth for length
2019-02-12 08:59:26 +01:00
Martin Diehl 97ac437686 more user friendly constructors 2019-02-12 08:14:27 +01:00
Martin Diehl ef3fc0b58a bugfix: wrong array indexing
rotation of meshgrid tuple implemented
2019-02-12 07:42:46 +01:00
Martin Diehl 4215ae3888 rotation of matrix is defined in class 2019-02-12 06:32:26 +01:00
Martin Diehl e47c275e0c unknown encoding caused problem (on python2?) 2019-02-12 06:18:21 +01:00
Martin Diehl 48b0307fab using new rotation class
cannot rotate matrices (3,3) and (3,3,3,3) at the moment
2019-02-12 00:27:13 +01:00
Martin Diehl 7ee933b79d Rotation class
uses (and hides) Quaternion2. Should replace Quaternion class.
Orientation class should inherit from Rotation and adds symmetry.
2019-02-11 23:50:02 +01:00
Martin Diehl e931b716fd conversion routines from Marc de Graefs 3D rotation repository
Python version available on https://github.com/MarDiehl/3Drotations
2019-02-11 23:15:19 +01:00
Martin Diehl 40740b831e reverted code removal
was not "just commented out" but served as documentation. now easier to
see
2019-02-04 00:10:49 +01:00
Martin Diehl 9a4e9e62b6 using new rotation class 2019-02-01 20:28:51 +01:00
Martin Diehl 878331e5e9 this code was never used and is quite old 2019-02-01 19:29:19 +01:00
Philip Eisenlohr e6fe312f85 Corrected documented value for P (= -1!). Instead of repeating the assignment P=-1 in multiple internal functions, it might be advisable to define a class-wide parameter? 2019-02-01 14:04:55 +01:00
Martin Diehl 11a509970b some comments 2019-02-01 10:17:20 +01:00
Martin Diehl 45d11f81b0 python cleaning 2019-01-05 10:55:28 +01:00
Martin Diehl 02ab55d4b3 python reflects content better than lib 2019-01-05 10:52:39 +01:00