Commit Graph

762 Commits

Author SHA1 Message Date
Martin Diehl 08052737cf if grid is an option, it is a tuple
tuples do not have the prod() function
2019-05-30 14:28:31 +02:00
Martin Diehl c2a5f37818 round to reasonable precision
without symmetry, there are 36000**3 = 46656000000000 orientations
2019-05-30 14:11:54 +02:00
Martin Diehl bf60cffab5 cleaning 2019-05-30 14:07:49 +02:00
Martin Diehl d0c7f8b934 texture is typically the more interesting information
therefore, but it to the top
2019-05-30 14:05:45 +02:00
Martin Diehl 8380071564 using geom class
- dropped the use of the material class as it does not allow to have
empty phase and crystallite. The material.config class needs a severe
refurbishing (no crystallite, use orderedDict instead of hand written
solution, drop of texture components). Probably best solution is to
postpone this until we have a yaml/json reader for Fortran.
2019-05-30 13:30:38 +02:00
Martin Diehl 7d07a3752f polishing 2019-05-30 13:30:18 +02:00
Martin Diehl 461611cde7 polishing 2019-05-30 11:26:47 +02:00
Martin Diehl 49c3903cc7 explicit loop for simpler code
- no invalid combintations any more (allow to move the original
microstructure out of the new canvas)
- handling of origin needs discussion. When we want to recover the old
behavior, the origin might be located outside of the new geometry
2019-05-30 11:26:07 +02:00
Martin Diehl e974bb9c43 similar structure for building blocks 2019-05-30 10:45:17 +02:00
Martin Diehl 510b55df50 several improvements
- more error checking
- order of points can be arbitrary also for microstructure input
- grouping of same orientation/phase combinations
2019-05-30 10:33:01 +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 07276d511c modern python formatting
- 2 digits should be precise enough for euler angles
- no need to pad grain ID with leading zeros
2019-05-30 10:03:55 +02:00
Martin Diehl 73df615ff3 numpy meshgrid can do this now 2019-05-30 09:45:30 +02:00
Martin Diehl 4e0e5a2329 new python formatting style 2019-05-30 09:41:22 +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 cdc8338347 full (not periodic) mirroring is geom_mirror default behavior 2019-05-29 20:22:29 -06:00
Philip Eisenlohr d79f0c6290 replace geom_canvas --blank with geom_fromScratch 2019-05-29 20:02:06 -06:00
Martin Diehl fd9801ba09 StringIO not needed 2019-05-29 19:44:38 +02:00
Martin Diehl d7e8a66746 polishing 2019-05-29 14:18:11 +02:00
Martin Diehl 16bd5294aa loop order as intented 2019-05-29 14:06:39 +02:00
Martin Diehl 78f30684f8 moderized
needs some polishing with respect to array orders
2019-05-29 09:40:56 +02:00
Martin Diehl 6836a2eae8 better readable 2019-05-29 08:04:01 +02:00
Martin Diehl dfc2b47abc better readable 2019-05-29 08:01:00 +02:00
Martin Diehl 8ee23b37b2 should not be part of the repo 2019-05-29 07:52:44 +02:00
Martin Diehl bb6f54963a save some memory (avoid copies if not needed) 2019-05-29 07:49:43 +02:00
Martin Diehl 9f68923038 restored old behavior
save some ressources by avoiding copies.
much slower than old version, better cast formula into meshgrid again
2019-05-29 07:38:11 +02:00
Martin Diehl 2eb964b1ea simplified
needs some manual checking and proper test
2019-05-28 23:49:11 +02:00
Martin Diehl 100a2031d3 [skip ci] no white space needed 2019-05-28 07:55:24 +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 59c6c5cfe4 not needed anymore
essentially, (gauss) is an Euler angle triplet
2019-05-27 10:49:50 +02:00
Martin Diehl 6e06764e2d using (enhanced) central functionality 2019-05-27 08:38:02 +02:00
Martin Diehl d9ab87cfde crystallite will be removed soon, error handling is done by geom class 2019-05-27 08:35:24 +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 15d5a7ae28 don't access attributes directly 2019-05-26 22:08:14 +02:00
Martin Diehl f251cdb746 simplified 2019-05-26 22:07:50 +02:00
Martin Diehl af493cf9fd using class
needs more memory, but should be faster and is better readable
2019-05-26 21:32:08 +02:00
Martin Diehl 99da46fda8 polished 2019-05-26 20:36:41 +02:00
Martin Diehl 657a30c2f5 using new functionality 2019-05-26 18:51:27 +02:00
Martin Diehl feb2340935 self-reporting functionality for updating 2019-05-26 17:58:54 +02:00
Martin Diehl 34f7bbe2a0 'blank' option does not fit to flow of script
seeds_fromRandom -N 1 | geom_fromVoronoiTessellation -g 30 30 30 -s 1 1 1 > file.geom
or a few lines of python code give the same results
2019-05-26 13:06:22 +02:00
Martin Diehl e7b8ae08d0 polishing 2019-05-26 12:14:48 +02:00
Martin Diehl 974f67ffdc no frills 2019-05-26 12:06:51 +02:00
Martin Diehl be3513d1e0 polishing.
python imports follow PEP8
2019-05-26 09:49:56 +02:00
Martin Diehl a242382bed Merge branch 'geometry-class' of magit1.mpie.de:/damask/DAMASK into geometry-class 2019-05-26 09:19:29 +02:00
Philip Eisenlohr b13aa799c3 updated error message 2019-05-25 17:00:41 +02:00
Martin Diehl c89d344236 polishing 2019-05-25 13:51:05 +02:00
Martin Diehl 2b7d95f800 was accidently commited
gives different results due to interpolation from scipy
2019-05-25 12:09:09 +02:00
Martin Diehl c92969787a geom Class was updated 2019-05-25 11:56:06 +02:00
Martin Diehl 94f85b7f33 better readable 2019-05-25 10:45:58 +02:00
Martin Diehl fc1f65c34e works for dtype='float' 2019-05-25 10:36:46 +02:00
Martin Diehl 875643c363 same style 2019-05-25 10:24:45 +02:00
Martin Diehl 17eb0d1b20 using new class 2019-05-25 08:48:44 +02:00
Martin Diehl 4788fc6046 making use of new class
@philip: 1D arrangement needed?
2019-05-25 08:37:02 +02:00
Martin Diehl 6c7f7c77da specifying non-existing or invalid files is an user error
this is the standard behavior for common unix tools, no need to make an
exception here
2019-05-25 08:24:32 +02:00
Martin Diehl cf374a04dc using new class 2019-05-25 08:21:00 +02:00
Martin Diehl 420abfa162 use new class 2019-05-24 22:34:27 +02:00
Philip Eisenlohr eb13fbc0ce streamlined geom-info reporting; added --float option to some scripts; hardened against NaN; "microstructures" now reports uniques not max 2019-05-23 13:03:24 -04:00
Philip Eisenlohr e6cec6ecbe added option to reverse inside/outside of primitive body 2019-05-23 12:49:03 -04:00
Martin Diehl ed7423a3d6 bug fixes 2019-03-10 08:16:01 +01:00
Martin Diehl 67619fa92a consistent definition of axis angle 2019-03-09 20:18:28 +01:00
Martin Diehl b84d4f1b6a improved error handling/clearer messages 2019-03-05 10:58:57 +01:00
Philip Eisenlohr e030038b73 [skip ci] added --blank option to create fresh canvas (from nothing) 2019-02-27 19:37:38 -05:00
Eureka Pai e401c21266 dropped obsolete option --inplace from geom_check 2019-02-25 18:30:45 -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 0d7fd587e3 direct translation from DREAM.3D to DAMASK geom
needs test
2019-02-24 12:59:10 +01:00
Martin Diehl 903edcd429 do not patronize the user, rather give hints 2019-02-24 10:31:08 +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 a8e8b75cc0 use new rotation class 2019-02-23 22:13:24 +01:00
Martin Diehl fff377de7f initial simplification.
Should be able to generate from table containing either <microstructure>
or <texture> and <phase>
2019-02-23 22:06:31 +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 e4bb61c9d9 transition to new orientation class/DREAM.3D 2019-02-23 11:37:09 +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
Satyapriya Gupta 3bec76e781 can now deal with 1x1x1 geoms 2019-02-19 12:06:46 -05:00
Martin Diehl 25727bfa52 using CamelCase 2019-02-19 10:32:18 +01:00
Martin Diehl 27ebe1f665 improved documentation 2019-02-17 08:17:40 +01:00
Philip Eisenlohr dc133344b6 [skip ci] migrated to python3 compatibility 2019-02-14 18:44:06 -05:00
Philip Eisenlohr 742d58cfce added ASCIItable tests to CI pipelining 2019-02-14 18:24:09 -05:00
Martin Diehl 608852df83 rotation paper has angle as last component 2019-02-12 10:58:38 +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 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 da115ca9d4 probably never used and outdated (python2.7)
doing the same conversion via DREAM.3D will be available soon
2019-01-16 17:51:37 +01:00
Martin Diehl c5dabbb68f correct comment sign
the # indicates the end of a list
2019-01-09 16:31:00 +01:00
Martin Diehl 0dca8d2740 compatible to python 3 and mentat >= 2017 2019-01-09 16:28:21 +01:00
Philip Eisenlohr 9bdd4d1d68 added <!skip> line to stop config parser from trying to interpret rest of geom description---huge speedup!! 2018-12-20 17:22:29 -05:00
Martin Diehl 5d7f930592 math.isclose does not exist for older versions
np.isclose does the same
2018-12-17 20:04:16 +01:00
Martin Diehl e8f4dc4c9f Merge branch 'orientationClass_with_negative_P' into development 2018-12-06 07:26:08 +01:00
Martin Diehl ee7e4ee0d9 python3 has different encoding syntax 2018-12-06 06:27:07 +01:00
Philip Eisenlohr a6d4c73de0 added list of map and introduced "quat" keyword in quaternion init 2018-12-05 10:20:05 -05:00
Philip Eisenlohr c0f7ae2798 updated scripts that still used formerly valid object properties of quaternions 2018-12-05 09:07:29 -05:00
Philip Eisenlohr 1d7172c971 adopted more intutitive alternative of P=-1 from Rowenhorst_etal2015 2018-12-04 17:05:35 -05:00
Martin Diehl 7c1e2e256c os.urandom returns byte, not string in python3 2018-11-24 10:07:47 +01:00
Martin Diehl d53b01ab56 also works for python3 2018-11-18 08:04:52 +01:00
Martin Diehl 015e819d4c python3 does not allow to compare tuple/list with int 2018-11-17 09:29:05 +01:00
Martin Diehl 82861e80bc more python3 related changes 2018-11-17 08:46:58 +01:00
Martin Diehl 558745b548 explicitly require python3
on older systems, python3 tpyically exists but python2 is the defaul
2018-11-17 08:12:12 +01:00
Martin Diehl 50f880afd1 more scripts working with python3 2018-11-16 19:32:17 +01:00
Martin Diehl 9922f5f646 adjusted to python3
translate is more complicated now:
https://stackoverflow.com/questions/41708770
2018-11-16 12:23:45 +01:00
Martin Diehl a3647cc587 more files with confirmed python3 compatibility 2018-11-16 09:03:12 +01:00
Martin Diehl e9e3fef8d4 more python3 compatible scripts 2018-11-15 16:40:54 +01:00
Martin Diehl a00d15b889 geom files are not labeled 2018-09-29 11:18:35 +02:00
Martin Diehl 8616a92309 unused module 2018-07-20 03:50:07 +02:00
Martin Diehl 24d1528e04 on the way to full python 3 compatibility 2018-07-20 03:31:46 +02:00
Martin Diehl 784ae28dbb now working with python 3 2018-07-20 00:39:50 +02:00
Martin Diehl 9821654aae iteritems does not exist in python3 anymore
items also works for python2 (might be slower though)
2018-07-19 16:16:10 +02:00
Philip Eisenlohr 1b12457fe6 vicinityOffset to specific triggering IDs instead of just any other ID 2018-03-30 11:48:02 -04:00
Philip Eisenlohr 0570a49ed5 fixed broken logic of restoring and preventing immutable microstructures 2018-03-27 16:53:49 -04:00
Philip Eisenlohr 2c3eae6bf0 fixed tests and bug for very small unit cube fractions when grid is also small 2018-03-07 18:59:27 -05:00
Philip Eisenlohr 32c34457c2 direct selection of valid seed coordinates within subfraction of unit cube instead of check and repeat 2018-03-07 17:45:22 -05:00
Philip Eisenlohr f5177b6d2d [skip ci] added option for non-periodic geometries 2018-02-20 10:20:35 -05:00
Martin Diehl ba3a4e1254 indicating vectors with 1_, ..., n_ is standard now, "euler" also (more or less) 2018-02-05 17:34:08 +01:00
Martin Diehl 4dfb52c792 unfinished HDF5 should not be part of the next release 2017-11-21 10:23:50 +01:00
Franz Roters eddc2a6acf numpy actually not needed 2017-10-20 10:17:08 +02:00
Franz Roters 0c24f113c1 split overlong line 2017-10-20 10:14:15 +02:00
Franz Roters 26b8788c06 script to colocate 2D ang files into one §D file and optionally creat geometry and Paraview files 2017-10-20 09:36:57 +02:00
Philip Eisenlohr ff072ae3c4 fixed bug (lost orgin info) 2017-08-23 15:14:22 -04:00
Philip Eisenlohr 9b6e092b5c changed location where script appends itself to info trail
used to be sometimes at top, sometimes at bottom; now always after predecessor and above standard geom header
2017-08-23 14:09:33 -04:00
Philip Eisenlohr f825e91bf1 script to straighten numbering in geom 2017-08-23 14:08:11 -04:00
Philip Eisenlohr 12fed7a38f added option to use seed coordinates that are not normalized to a unit cube 2017-08-16 16:24:45 -04:00
Philip Eisenlohr 4eff7cfdd8 fixed wrong name for "pos" options destination 2017-08-15 16:11:21 -04:00
Philip Eisenlohr 1a423617c2 combined assignement of curvature exponent to deal with negative dimensions 2017-08-03 12:12:47 -04:00
Philip Eisenlohr 84a3885af8 negated option from "voxelspace" to "realspace".
introduced logarithmic sense of curvature exponents, additional polishing
2017-08-03 12:08:51 -04:00
Martin Diehl e5af0630fe gaussian filter (wrapper no ndimage) 2017-05-29 10:33:05 +02:00
Martin Diehl 691f338f5d executable bit got lost 2017-05-19 09:33:58 +02:00
Franz Roters ed85ce5bdb changed argument handling in line with other scripts
now also works with stdin/out
2017-04-28 12:36:10 +02:00
Philip Eisenlohr d35df1df49 Operate on MFD file to apply servo links, not client-server communication
Speed up by many orders of magnitude... 64 x 64 x 64 mesh less than a minute! Thanks Brendan!
2017-04-26 17:32:01 -04:00
Philip Eisenlohr c34716a0da modern form of croaking, added '*draw_automatic' as final output 2017-04-14 15:07:43 -04:00
Philip Eisenlohr d1c2e2114d switch auto drawing back on at end of pipeline 2017-04-13 19:00:19 -04:00
Martin Diehl 95a982e002 default type for muliple arguments (not extend) is tuple, not list 2017-04-13 12:54:26 +02:00
brendanvk 0d648b8de0 Change script to use resolution-independent coords
- Use the --voxelspace flag to get the old behavior
2017-03-07 20:37:30 -05:00
Martin Diehl de57d9514e removed code doubling and unused variables 2017-03-05 17:50:17 +01:00
brendanvk f010aa97d9 Fix non-cube geometry structure, reduce memory 2017-02-24 22:30:04 -05:00
Brendan Vande Kieft e5e6bed5de Improve performance and generalize primitive shape
- Behavior is mostly unchanged, but the primitive may be shifted by a voxel when compared to the previous version, which had rounding issues near the edge of the primitive.
- exponent flag specifies the exponents that satisfy the equation x^e1 + y^e2 + z^e3 < 1.  (1,1,1) gives an octahedron, (2,2,2) a sphere, and large values (1e10, 1e10, 1e10) gives a hexahedral box for any reasonable resolution. Mixing the two can produce a cylinder, (1e10, 2, 2) gives one with rotational symmetry about the x-axis.
2017-02-24 00:42:28 -05:00
Martin Diehl a9d72c54b6 was not python3 conforming 2017-02-04 01:07:24 +01:00
Philip Eisenlohr 49eb7aa1be fixed nasty ABS that caused wrong packing for 1,2,1,1,1,... and the like 2016-12-25 12:39:49 -05:00
Philip Eisenlohr 3628deb30e changed option name from "no-config" to more common "without-config" 2016-12-23 17:46:16 -05:00
Philip Eisenlohr d67be0e3f3 reduced memory footprint (substantially) by switching to 32bit precision 2016-12-08 23:36:19 -05:00
Philip Eisenlohr c8f321356d prefill immutable indices with closest mutable one
Retain only orginially immutable locations, not those where immutability bled into.
Changed threshold for change from 0.5 to 0.95 of max diffusedEnergy.
2016-12-08 09:47:20 -05:00
Philip Eisenlohr 9bb4f89e78 removed leftover debug output 2016-12-06 21:36:45 -05:00
Philip Eisenlohr a2db7e9ba1 added option to suppress writing of material.config part in header 2016-12-06 21:36:25 -05:00
Philip Eisenlohr cb95f3b244 fixed systematic drift of grain structure along -[1,1,1]
correction of periodic Gauss kernel extension, inclusion of ndimage.gaussian_filter alternative (same runtime as FFT), proper output handling of grids <3D
2016-11-30 09:39:13 -05:00
Philip Eisenlohr 40de6910b8 added --float option to translate real-valued grid data 2016-11-29 23:59:42 -05:00
Martin Diehl a04968d43f Merge branch 'development' into negativeRange 2016-11-01 17:20:56 +01:00
Martin Diehl 8593fb3ed7 unifying scripts 2016-10-31 22:11:16 +01:00
Philip Eisenlohr 4acfc73fa1 Merge branch 'Python3' into development 2016-10-31 11:28:40 -04:00
Philip Eisenlohr 94fcc9ad24 fixed language and syntax 2016-10-31 10:40:58 -04:00
Martin Diehl 8eb93a3274 python scripts now pack "a a-1 a-2 ... a-n" to "a to a-n" 2016-10-29 10:49:40 +02:00