Commit Graph

75 Commits

Author SHA1 Message Date
Philip Eisenlohr 87767f0cc2 Merge branch 'no-python-quaternion' into 'development'
No python quaternion

See merge request damask/DAMASK!122
2020-01-15 22:52:55 +01:00
Martin Diehl 8a674d0279 2 bugfixes:
- mixed up other and me when removing quaternion class
- 1000 random orientations are enough for testing
2020-01-14 22:30:08 +01:00
Martin Diehl 9d1c1fdb92 enforce Re(q) > 0 2020-01-14 11:33:18 +01:00
Martin Diehl 3afc011a58 fix for untested functionality
thanks to prospector
2020-01-14 10:34:13 +01:00
Martin Diehl 06fc374359 avoid overhead
length of random quaternion is one, no need to go via fromQuaternion but
direct initialization and standardization suffices
2020-01-14 10:22:51 +01:00
Martin Diehl 8e5aa60f34 fixed (and polished) printing 2020-01-14 09:37:59 +01:00
Martin Diehl 26c242b997 not needed anymore
conceptually, having the quaternion class is nice but performance-wise
it is a nightmare and prevents vectorization
2020-01-14 09:03:50 +01:00
Martin Diehl 99684c3e86 Merge branch 'vectorized-orientation-conversion' into no-python-quaternion 2020-01-14 09:02:43 +01:00
Martin Diehl 3fc616bc7d Merge branch 'development' into vectorized-orientation-conversion 2020-01-14 09:00:10 +01:00
Martin Diehl c7e92c672d avoid code duplication 2020-01-14 07:30:17 +01:00
Martin Diehl ecb8510217 leaner (and hopefully faster) code 2020-01-14 05:32:42 +01:00
Philip Eisenlohr 300f1b7015 added options to return "natural" versions of asQ, asRodrig, and asAxisAngle 2020-01-11 11:36:22 -05:00
Martin Diehl 6a8783bab8 these functions are static
class methods change are allowed to change the attributes of the class.
This is not what we do here
2019-12-13 15:46:40 +01:00
Martin Diehl 37e52fd81f polishing 2019-12-11 16:51:13 +01:00
f.basile ca06c1d3a2 Fix bugs in relatedOperations for NW,GT and GTprime. 2019-12-10 13:49:33 +01:00
Martin Diehl 53cb59fc47 use pytest instead of hand-written test class 2019-12-08 21:29:26 +01:00
Martin Diehl 5e7f9a223b should be a passive rotation 2019-10-21 23:17:58 +02:00
Martin Diehl 9489c04ccb less confusing 2019-10-21 23:02:31 +02:00
Martin Diehl ecc51e34d3 rouding should affect color calculation
avoid NaN in math.power(x,0.5). math.power(-0.0,0.5) is ok
2019-10-21 22:44:12 +02:00
Martin Diehl 78a2941436 avoid numerical issues 2019-10-21 16:59:49 +02:00
Martin Diehl ad83c8541d same names as in python 2019-09-20 17:18:09 -07: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 ef285b482f more references + citation style correction 2019-09-04 08:55:05 -07:00
Martin Diehl 3657f81c59 documenting (in accordance with new prospector rules) 2019-09-03 17:18:06 -07:00
Martin Diehl 37de73535d following PEP style guide 2019-05-30 20:08:39 +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 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 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
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 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
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