Commit Graph

701 Commits

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