Commit Graph

245 Commits

Author SHA1 Message Date
Martin Diehl 0461c404f7 numpy uses __array__ for casting
avoids infinite loop of __init__, __getitem__, and shape. Found on
8cf07f6113
2021-02-22 18:52:06 +01:00
Sharan Roongta 9e8a243d6f avoid name conflict with lattice parameter 'c' 2021-02-12 12:15:08 +01:00
Sharan Roongta f1b8978e21 accept variables that will be used
**kwargs allowed the use of extraneous arguments
2021-02-12 11:24:12 +01:00
Martin Diehl 196902948f simplified 2021-01-13 09:54:04 +01:00
Martin Diehl f4247e0f35 simpler (and scipy compatible) 2021-01-13 09:35:42 +01:00
Philip Eisenlohr 2d6e6a2370 Rotation composition uses "*"; application of Rotation to object uses "@"; "apply()" works on both 2021-01-12 18:57:33 -05:00
Philip Eisenlohr bde66d85fc Merge branch 'development' into python-improvements 2021-01-07 10:58:33 -05:00
Philip Eisenlohr 94cfe28128 polishing help; Rotation.apply(Rotation) now acceptable. 2021-01-06 18:03:10 -05:00
Martin Diehl acbb564afc restored functionalitity for adding list.
got accidently lost
2021-01-04 07:23:14 +01:00
Martin Diehl d8b4b7e0f5 != and == work componentwise 2021-01-03 21:52:19 +01:00
Martin Diehl f48a446353 compatible with scipy.spatial.transform.Rotation
also introduced inplace variants and '/' as multiplicative inverse of
'*'
2021-01-03 16:08:22 +01:00
Martin Diehl 98723cb0ed need to handle special case of Re() = 0
ensuring that the real part is positive seems to be a good idea on first
sight, but it would be easier to simply acknowledge that qu = -qu
2021-01-03 15:50:15 +01:00
Martin Diehl 35ca1ffb0a consistent copy functionality 2021-01-03 12:03:40 +01:00
Martin Diehl 6fe1ff8e39 fixed test for rodrigues parametrization
for angle close to 180deg, the sign of the axis does not matter
2021-01-03 11:50:45 +01:00
Philip Eisenlohr da62daf15d added test for appending rotation lists; better check for type==list 2020-12-28 12:26:09 -05:00
Philip Eisenlohr 4796afdd92 fix for broken representation of no-rotation orientations and averaging weights 2020-12-28 12:10:21 -05:00
Philip Eisenlohr d8b57680ec raise NotImplemented when using R*b instead of R@b 2020-12-21 15:47:18 -05:00
Martin Diehl 78192ef3fd clearer naming + better comments, thanks to @p.eisenlohr 2020-12-07 17:49:37 +01:00
Martin Diehl 0fdefa5e78 renames:
after the rename of "grid" to "cell", the name cell should not be used
for the coordinates of the cell centers. In agreement with the names
x_p/u_p for point positions/displacements, now the "point" is used to
refer to the materialpoints (i.e. cell centers)

Additionally, "_node"/"_point" are now suffixes to
"coordinates"/"displacements".

Finally, "coords" is renamed to "coordinates"
2020-12-03 23:59:37 +01:00
Martin Diehl a87596cefc return rotation type (ensures proper rotation) 2020-11-19 22:36:19 +01:00
Martin Diehl 894a8de9f9 avoid name clash: as_Rodrigues_vector(vector = ...) 2020-11-19 14:31:14 +01:00
Martin Diehl 89c748fdf1 Merge remote-tracking branch 'origin/development' into vector-mechanics 2020-11-18 13:55:05 +01:00
Martin Diehl 9a1e8e3c38 for the transition period 2020-11-18 13:28:53 +01:00
Martin Diehl 6bedd84759 self-explanatory names 2020-11-18 08:15:04 +01:00
Martin Diehl 5ebde607a2 einsum simplifications 2020-11-16 07:43:20 +01:00
Martin Diehl 6f81f5278d separating general tensor math from mechanics operations 2020-11-16 00:13:34 +01:00
Martin Diehl fd8743af5e clearly distinguish seeds for tessellation and seeds for RNG 2020-11-15 13:49:17 +01:00
Martin Diehl 15af12bbb4 __ne__ is automatically set to !__eq__, __neq__ has no special meaning 2020-11-15 11:38:26 +01:00
Martin Diehl 05c1007add documentation improvments + acceptance of lists
example code at respective function, no space in 'or' variable names
(sphinx cannot handle this)
2020-11-15 10:31:01 +01:00
Martin Diehl 5926f84851 WIP: refactoring Orientation=Symmetry+Rotation, Lattice=subclass of Sym, and Crystal=Lattice+Rotation 2020-11-09 21:20:56 +01:00
Philip Eisenlohr 350f5eb66a improved from_ODF documentation 2020-09-29 12:55:00 -04:00
Philip Eisenlohr 31f86c28f4 [skip ci] added parameter description; shortened hybrid_IA pre-loop logic 2020-09-29 11:15:10 -04:00
Martin Diehl d2cfcdaca0 reference Data for ODF sampling (hybridIA) + skeleton of a test 2020-09-28 16:14:27 +02:00
Franz Roters 3612b17295 corrected Sphinx warnings 2020-09-23 16:21:20 +02:00
Franz Roters 190f8a82d4 Merge branch 'texture-components-in-rotation-class2' into 'development'
Texture components in rotation class2

See merge request damask/DAMASK!225
2020-09-18 13:31:42 +02:00
Vitesh ca689193f6 Merge branch 'new-random-style' into 'development'
new style for numpy random numbers

See merge request damask/DAMASK!224
2020-09-16 11:12:55 +02:00
Martin Diehl c71768a37a polishing 2020-09-16 06:33:17 +02:00
Philip Eisenlohr ed006d1a89 streamlined fiber/spherical component sampling 2020-09-15 19:12:30 -04:00
Philip Eisenlohr c6be6fe87f fixed spherical component sampling and testing 2020-09-15 18:40:05 -04:00
Philip Eisenlohr 82ed546ff7 Merge branch 'texture-components-in-rotation-class2' of magit1.mpie.de:damask/DAMASK into texture-components-in-rotation-class2 2020-09-15 18:14:19 -04:00
Philip Eisenlohr 0a34e342e4 fixed fiber component sampling and testing 2020-09-15 18:14:15 -04:00
Philip Eisenlohr d6378ec9bc shortened from_fiber_component algorithm 2020-09-15 16:34:19 -04:00
Martin Diehl ad2badd3be [skip ci] vectorized and simplified
based on Philips ideas. Test requires from_axis_angle fix
2020-09-15 22:13:28 +02:00
Philip Eisenlohr d02617c961 fixed normalization of multidimensional axes (from_Rodrigues, from_axis_angle) 2020-09-15 13:09:24 -04:00
Martin Diehl 18c38f1284 polishing 2020-09-15 13:49:44 +02:00
Martin Diehl 2a082b7983 methods for texture component calculations 2020-09-15 12:11:46 +02:00
Martin Diehl 82e41d92ce new style for numpy random numbers
https://numpy.org/doc/stable/reference/random/index.html?highlight=random#quick-start
https://albertcthomas.github.io/good-practices-random-number-generators/
2020-09-15 08:12:02 +02:00
Philip Eisenlohr 9fb3fef4b0 changed British "normalise" to US "normalize" as we (should) follow US English everywhere else. 2020-09-08 10:39:31 -04:00
Martin Diehl ff7eed4477 (unified) type hints 2020-08-08 20:56:17 +02:00
Martin Diehl b0e06f180a reading numpy manual ...
https://numpy.org/doc/stable/reference/generated/numpy.isclose.html
rtol=1.e-8, b=1 gives atol+btol=1.e-8+1e-9, simplified to 1e-8
2020-07-13 22:48:29 +02:00
Francisco Jose Gallardo Basile e1bbaac0d7 Merge branch 'Vectorize-Orientation' into 'development'
Vectorize orientation

See merge request damask/DAMASK!186
2020-07-03 12:22:04 +02:00
Martin Diehl 208d5109d4 still needed ... 2020-07-02 08:14:13 +02:00
Martin Diehl 86dc7054a4 still needed 2020-07-01 22:11:16 +02:00
Martin Diehl 4abd77fccf more test coverage 2020-07-01 17:31:16 +02:00
Martin Diehl be1eb996e0 more tests and cleaning 2020-07-01 15:12:34 +02:00
Martin Diehl a7e3dd5a56 Merge branch 'development' into Vectorize-Orientation 2020-07-01 13:30:39 +02:00
Martin Diehl 23365660d8 polishing 2020-06-30 23:18:32 +02:00
Martin Diehl 49d448dced vectorized and cleaned 2020-06-30 21:43:57 +02:00
Martin Diehl 9d94b521ad polishing 2020-06-30 13:31:58 +02:00
Martin Diehl b8b34080fe enable array like slicing/iteration 2020-06-30 12:16:47 +02:00
Martin Diehl bfae88a364 numpy compatible 2020-06-26 11:45:30 +02:00
Philip Eisenlohr f8f433e826 introduced f-strings 2020-06-24 14:13:56 -04:00
Martin Diehl c6a5bb8a3b is 2020 2020-06-21 10:04:45 +02:00
Martin Diehl 15b43bcebf from_directions is not general, removed
polishing
2020-06-20 19:57:49 +02:00
Martin Diehl 3f63a4fdbc [skip ci] typo 2020-06-20 18:13:34 +02:00
Martin Diehl ebdb65d31f standard broadcast_to behavior 2020-06-20 16:35:22 +02:00
Martin Diehl d93ed2bc5c several improvements:
- vectorized from_directions
- more tests (96% coverage, only random functionality is untested)
- updated documentation, folloing numpy standard
- inverse operator '~' introduced
2020-06-20 12:20:43 +02:00
Martin Diehl 055fa64f5f better readable 2020-06-19 12:25:46 +02:00
Martin Diehl 1648963b57 vectorized equivalent orientation calculation 2020-06-18 22:53:04 +02:00
Martin Diehl cdda556e18 small improvements
- hack for reporting multiple rotation
- bugfix for vectorized Rodrigues vector
- more general broadcasting (even more powerfull then np.broadcast_to)
2020-06-18 22:30:22 +02:00
Martin Diehl 908788271a Merge branch 'misc-improvements' into less-shell-scripts 2020-05-26 07:24:03 +02:00
Martin Diehl f07eaf19d0 fixed broadcasting + corresponding test 2020-05-25 16:37:08 +02:00
Martin Diehl dad7c7a2a0 Merge branch 'vectorize_rotation' into misc-improvements 2020-05-25 15:50:03 +02:00
Martin Diehl 3e2cbef780 Merge remote-tracking branch 'origin/development' into vectorize_rotation 2020-05-25 15:46:27 +02:00
Martin Diehl 77b68ab86f using rotation class for rotations 2020-05-25 09:39:39 +02:00
Martin Diehl b33de48528 testing broadcasting 2020-05-22 15:12:37 +02:00
Martin Diehl 16f30a10d0 polishing 2020-05-20 23:50:08 +02:00
Martin Diehl 353fd3ceb6 more tests
now 95% test coverage of Rotation class
2020-05-20 19:16:31 +02:00
Martin Diehl 128a96e7f6 vectorized formula is enough 2020-05-20 18:13:51 +02:00
Martin Diehl bb419d49df polishing 2020-05-20 16:19:12 +02:00
Martin Diehl 9240dd59b2 mark as internal
all functionality (+ sanity checks) can be done with the class
functionality
2020-05-20 11:11:07 +02:00
Martin Diehl 9694767997 all seems to work now 2020-05-20 09:01:38 +02:00
Martin Diehl 1d8903bb0c transition code 2020-05-20 00:18:44 +02:00
Martin Diehl 1fa4a07bb8 for backward compatibility 2020-05-19 23:39:01 +02:00
Martin Diehl 3e00269179 again some more tests 2020-05-19 23:24:12 +02:00
Martin Diehl 1c53a37de4 more tests and adjustments to tolerances 2020-05-19 21:03:30 +02:00
Martin Diehl a6b0aaffba more tests
Hotfix needed for axis angle to matrix (not used in DAMASK, needs
further investigation)
2020-05-19 19:41:50 +02:00
Martin Diehl de79a5af43 directly test the internal conversions
some work to do ...
2020-05-19 09:55:23 +02:00
Martin Diehl 065c624f94 fix for backward compatibility 2020-05-19 09:10:14 +02:00
Martin Diehl ebf05a279e standard name 2020-05-19 08:59:03 +02:00
Martin Diehl 1a3a4a800e vectorized 2020-05-19 07:59:24 +02:00
Martin Diehl b6eebcd704 small fixes (testing P=+1) 2020-05-19 07:57:40 +02:00
Martin Diehl b200894a40 bugfix and further test 2020-05-19 07:57:40 +02:00
Martin Diehl 3dc90ddb94 use the formula from the paper, not from the reference implementation
a few multiplications should be faster than a transpose
2020-05-19 07:57:40 +02:00
Martin Diehl a25dd1c438 cleaning 2020-05-19 07:57:40 +02:00
Martin Diehl 743e91a78d cleaning 2020-05-17 08:01:34 +02:00
Martin Diehl 652ece6bb3 fix: wrong capitalization 2020-05-17 07:25:17 +02:00
Martin Diehl a90865c877 non-vectorized versions not needed anymore
using them only for testing purposes
2020-05-17 00:10:18 +02:00
Martin Diehl 19638168e6 more sensible type checking and errors 2020-05-16 13:23:32 +02:00
Martin Diehl 235f3c0df7 bugfix: copy and paste error 2020-05-16 11:16:52 +02:00
Martin Diehl e2ba294b75 bugfix: wrong variable 2020-05-16 09:40:32 +02:00
Martin Diehl 2dc46b783a simplified and tested 2020-05-16 00:58:40 +02:00
Martin Diehl 3fd868dc45 Merge branch 'development' into vectorize_rotation 2020-05-15 23:25:36 +02:00
Martin Diehl b5b9bfaa99 need space at end of definition list 2020-05-13 11:36:16 +02:00
Martin Diehl 6f3b526811 Merge branch 'development' into docstring-sphinx-adjustments 2020-05-13 10:38:45 +02:00
Martin Diehl ef4a4dad4a shape property and numpy-like broadcasting
this makes it easy to apply a single rotation to a field
2020-05-05 14:44:08 +02:00
Martin Diehl 5f3f87cd68 vectorizing cubochoric conversions 2020-05-04 17:43:38 +02:00
Martin Diehl 7d1e0850ab test + resulting bug fix 2020-05-03 17:04:03 +02:00
Martin Diehl 5d4b554b00 WIP: vectorizing 2020-05-03 07:48:13 +02:00
Martin Diehl c241eaec15 rely on correct input data 2020-05-03 07:23:46 +02:00
Martin Diehl f0bb50b97d vectorized rotation function 2020-05-02 15:22:17 +02:00
Martin Diehl c7a77ebc26 Merge branch 'development' into integrate-lambert 2020-05-02 09:21:42 +02:00
Martin Diehl 2df78e4e2f vecorized pyramid function for lambert projection 2020-05-02 09:17:31 +02:00
Martin Diehl ce9bdc50a4 common variable names 2020-04-29 14:46:58 +02:00
Martin Diehl 707324887f inform the user about planned functionality 2020-04-24 06:52:09 +02:00
Martin Diehl 8ba547a1b5 no need for an extra file 2020-04-22 13:23:50 +02:00
Martin Diehl 97a5880d76 ensure correct shape 2020-04-21 13:22:55 +02:00
Martin Diehl 75d7238376 vectorized as_XXX 2020-04-21 12:27:50 +02:00
Martin Diehl ae3eca5f98 fix for vectorized from_random 2020-04-21 12:08:16 +02:00
Martin Diehl 23fc58699f vectorize Rotation.fromXXX functions 2020-04-21 10:55:45 +02:00
Martin Diehl 93c75cada3 numpydoc style 2020-04-12 15:38:38 +02:00
Martin Diehl 3d10266fbc similar style as for other conversions 2020-04-12 01:29:11 +02:00
Martin Diehl 04fbc38a4b keep namespace clean and avoid overwriting in fromXXX functions 2020-04-12 01:19:11 +02:00
Martin Diehl f41a47ce8b polishing and slightly stricter tolerances 2020-04-11 23:27:25 +02:00
Martin Diehl c0c37fe6a5 polishing 2020-04-11 20:42:46 +02:00
Martin Diehl c57f96cd6e also missing 2020-04-11 18:32:06 +02:00
Martin Diehl 8c61f67e34 cleaning 2020-04-11 18:24:54 +02:00
Martin Diehl 296a75d452 where not needed 2020-04-11 18:00:59 +02:00
Martin Diehl fac33ec408 polishing 2020-04-11 17:23:54 +02:00
Martin Diehl 51104bfc13 do not transpose for the standard case 2020-04-11 17:19:12 +02:00
Martin Diehl cb9daccdd7 homochoric representation vectorized 2020-04-11 16:14:40 +02:00
Martin Diehl 99655c9f61 more vectorized functions 2020-04-11 13:59:16 +02:00
Martin Diehl 3bfa2d679c simpler/correct logic for eu2om 2020-04-11 11:36:37 +02:00
Martin Diehl bab3581b11 need to transpose eigenvectors to find the correct one 2020-04-09 15:01:01 +02:00
Martin Diehl e502573e05 polishing 2020-04-09 14:20:43 +02:00
Martin Diehl b025c1838e simplified 2020-04-09 12:52:12 +02:00
Martin Diehl cbfde73a29 more testing and related fixes 2020-04-09 07:40:20 +02:00
Martin Diehl 43e7639f77 WIP: implementing orientation matrix conversions 2020-04-09 00:47:43 +02:00
Martin Diehl da30fb8396 qu(aternion) and eu(ler) vectorized and tested 2020-04-09 00:35:40 +02:00
Martin Diehl 464620b796 vectorized conversion from ax(is angle) 2020-04-08 21:24:59 +02:00
Martin Diehl 1ba01ba0db adjusting tolerances 2020-04-08 18:15:50 +02:00
Martin Diehl 8f88480790 better readable error messages 2020-04-08 12:59:34 +02:00
Martin Diehl bbce3456e8 advise from pylint 2020-03-22 22:30:38 +01:00
Martin Diehl 1dfdd264b7 small flaws detected by pylint 2020-03-22 16:31:14 +01:00
Martin Diehl e390982be7 clean first level structure 2020-03-19 15:19:11 +01:00