Skip to content

Commit dc5ae59

Browse files
committed
Add new capabilities
- module -T: fixed -morpho cube, added -statcell and -statvox <orientation_descriptor>, added -ori :flat, added -transform ori, made minor fix to the objective function for tesr (does not change the result), made minor fixes to -statface and -statpoly, made other minor fixes. - module -M: added -transform node and ori, fixed -stateltco and -statelsetco, added -stat{elt,elset}{1d,2d} theta, fixed nsets in 2D, added -statelt and -statelset <orientation_descriptor>, added -statelset scaleid, added -statelset* elts,nodenb,nodes, made minor fix to inp output, made minor fixes and improvements. - module -S: fixed various bugs related to the initial state, revised odf and odfn, made minor other improvements. - module -V: added -datacellsymbol, -datapointsymbol, -lightambient, -lightsource, -lightdiffuse and -lightreflection options, added -space pf to plot pole figures, added -space tree to plot a simulation directory, added -asymptote, added -pfpole, -pfprojection, -pfmode, -pfgrid, -pfkernel, -pfdir, -pfclustering, -pfsym and -pfshape options, renamed -imageantialias into -povrayantialiasing, added :shape transformation to color maps, made minor fixes. - documentation: made minor improvements. - general: added tutorials to documentation, fixed FORCE_BUILTIN_* configuration options, made various installation improvements.
1 parent 42ea74a commit dc5ae59

File tree

568 files changed

+40034
-1630
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

568 files changed

+40034
-1630
lines changed

VERSIONS

+27-11
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,33 @@
1-
New in 4.4.2-34 (25 Aug 2022):
2-
- module -T: fixed -morpho cube, made minor fixes, added -statcell and -statvox
1+
New in 4.5.0 (07 Sep 2022):
2+
- module -T: fixed -morpho cube, added -statcell and -statvox
33
<orientation_descriptor>, added -ori :flat, added -transform ori, made minor
44
fix to the objective function for tesr (does not change the result), made
5-
minor fixes to -statface and -statpoly.
5+
minor fixes to -statface and -statpoly, made other minor fixes.
66
- module -M: added -transform node and ori, fixed -stateltco and -statelsetco,
7-
made minor fix to inp output, made minor fixes, added -stat{elt,elset}{1d,2d}
8-
theta, added -statelt and -statelset <orientation_descriptor>, added
9-
-statelset* elts,nodenb,nodes, made minor fixes.
10-
- module -S: fixed various bugs related to the initial state, made minor other
11-
fixes.
12-
- module -V: made minor fixes.
13-
- general: fixed FORCE_BUILTIN_* configuration options, made various
14-
installation improvements.
7+
added -stat{elt,elset}{1d,2d} theta, fixed nsets in 2D, added -statelt and
8+
-statelset <orientation_descriptor>, added -statelset scaleid, added
9+
-statelset* elts,nodenb,nodes, made minor fix to inp output, made minor fixes
10+
and improvements.
11+
- module -S: fixed various bugs related to the initial state, revised odf and
12+
odfn, made minor other improvements.
13+
- module -V: added -datacellsymbol, -datapointsymbol, -lightambient,
14+
-lightsource, -lightdiffuse and -lightreflection options, added -space pf to
15+
plot pole figures, added -space tree to plot a simulation directory, added
16+
-asymptote, added -pfpole, -pfprojection, -pfmode, -pfgrid, -pfkernel,
17+
-pfdir, -pfclustering, -pfsym and -pfshape options, renamed -imageantialias
18+
into -povrayantialiasing, added :shape transformation to color maps, made
19+
minor fixes.
20+
- documentation: made minor improvements.
21+
- general: added tutorials to documentation, fixed FORCE_BUILTIN_*
22+
configuration options, made various installation improvements.
23+
24+
* Incompatible changes: In -V, removed -sceneshadow (merged in -light), renamed
25+
-imageantialias into -povrayantialiasing, moved point shape definition to
26+
-datapointsymbol, rotated long scale title by 180°, changed syntax for custom
27+
color maps from <color1>:<color2>:... to custom(<color1>,<color2>,...).
28+
In -S, changed odf(sigma=<value>) using radians into odf(theta=<value>) using
29+
degrees, changed odfn(sigma=<value>) using radians into odf(theta=<value>) using
30+
degrees.
1531

1632
New in 4.4.1 (09 Mar 2022):
1733
- module -T: improved -morpho lamellar to avoid unrealistically small lamellae

doc/_static/ini

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
0.088838317183 0.000000000000 0.176326980708

doc/_static/my_theme.css

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.wy-nav-content {
2+
max-width: 1200px !important;
3+
}

doc/conf.py

+10-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
import sphinx_rtd_theme
1212

1313
project = u'Neper'
14-
version = u'4.4.2-34'
15-
release = u'4.4.2-34'
14+
version = u'4.5.0'
15+
release = u'4.5.0'
1616
author = u'Romain Quey'
1717
copyright = u'Romain Quey'
1818
language = 'en'
@@ -22,3 +22,11 @@
2222
'logo_only': False,
2323
'navigation_depth': 5,
2424
}
25+
26+
def setup(app):
27+
app.add_css_file('my_theme.css')
28+
29+
# Add any paths that contain custom static files (such as style sheets) here,
30+
# relative to this directory. They are copied after the builtin static files,
31+
# so a file named "default.css" will overwrite the builtin "default.css".
32+
html_static_path = ['_static']

doc/exprskeys.rst

+47-30
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ The following table gives an overview of the functions supported by the default
4040
:data:`sign` sign function: -1 if :math:`x<0`; 1 if :math:`x>0`
4141
:data:`rint` round to nearest integer
4242
:data:`abs` absolute value
43-
:data:`<min>` min of all arguments
44-
:data:`<max>` max of all arguments
43+
:data:`min` min of all arguments
44+
:data:`max` max of all arguments
4545
:data:`sum` sum of all arguments
4646
:data:`avg` mean value of all arguments
4747
=============== =========================================================
@@ -464,8 +464,9 @@ Available keys for a mesh itself are provided below. "co" stands for "cohesive"
464464

465465
======================= ================================================= ==============================
466466
**Key** **Descriptor** **Apply to**
467-
:data:`eltnb` element number {0-3}D,co mesh, co-elt mesh
467+
:data:`eltnb` element number {0-3}D,co mesh
468468
:data:`nodenb` node number {0-3}D mesh
469+
:data:`elsetnb` elset number {0-3}D,co mesh
469470
:data:`partnb` partition number highest-dimension mesh
470471
:data:`x` x coordinate {0-3}D mesh
471472
:data:`y` y coordinate {0-3}D mesh
@@ -494,6 +495,7 @@ Available keys for mesh node, elements and element sets (of all dimensions) and
494495
:data:`elsetco` Cohesive elset co elt
495496
:data:`part` partition {0-3}D elt, node
496497
:data:`group` group {0-3}D elt, {0-3}D elset
498+
:data:`scaleid(<scale_nb>)` identifier of the corresponding tess cell at scale :data:`<scale_nb>` 2D elset, 3D elset
497499
:data:`cyl` cylinder polygonization [#cyl]_ 1D elt, 1D elset
498500
:data:`vol` volume 3D elt, 3D elset
499501
:data:`area` surface area 2D elt
@@ -561,15 +563,15 @@ A result of a :ref:`simulation directory <simulation_directory>` can be invoked
561563

562564
Available results / keys and concerning orientation distributions are provided below.
563565

564-
===================================== ======================================================================================== ====================================================
565-
**Key** **Descriptor** **Apply to**
566-
:data:`ori` average orientation elset, mesh
567-
:data:`oridisanisoangles` orientation distribution principal angles elset, mesh
568-
:data:`oridisanisoaxes` orientation distribution principal axes elset, mesh
569-
:data:`oridisanisofact` orientation distribution factor elset, mesh
570-
:data:`odf(sigma=value)` ODF defined at elements, with sigma the standard deviation of the kernel (optional) mesh
571-
:data:`odfn(sigma=value)` ODF defined at nodes, with sigma the standard deviation of the kernel (optional) mesh
572-
===================================== ======================================================================================== ====================================================
566+
===================================== ======================================================================================================= ===============
567+
**Key** **Descriptor** **Apply to**
568+
:data:`ori` average orientation elset, mesh
569+
:data:`oridisanisoangles` orientation distribution principal angles elset, mesh
570+
:data:`oridisanisoaxes` orientation distribution principal axes elset, mesh
571+
:data:`oridisanisofact` orientation distribution factor elset, mesh
572+
:data:`odf(theta=<value>)` ODF defined at elements, with :data:`theta` the standard deviation of the kernel (in degrees, optional) mesh
573+
:data:`odfn(theta=<value>)` ODF defined at nodes, with :data:`theta` the standard deviation of the kernel (in degrees, optional) mesh
574+
===================================== ======================================================================================================= ===============
573575

574576
.. _rotations_and_orientations:
575577

@@ -643,7 +645,7 @@ Crystal Symmetries
643645
Crystal symmetries can be described using the following descriptors.
644646

645647
======================== ============================================ ========================
646-
Key Descriptor Number of operators
648+
**Key** **Descriptor** **Number of operators**
647649
:data:`triclinic` triclinic (Laue group :math:`\overline{1}`) 24
648650
:data:`cubic` cubic 24
649651
:data:`hexagonal` hexagonal 1
@@ -821,29 +823,44 @@ Color Maps
821823
.. _color_map_for_integer_values:
822824

823825
Color Map for Integer Values
824-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
826+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
825827

826828
The *color map* or *palette* used to represent integer values is defined from the above color list, by excluding colors of brightness below 0.2 and above 0.8. The brightness is defined as the average of the channel values divided by 255. The resulting list of colors is: \(1) :data:`red`, (2) :data:`green`, (3) :data:`blue`, (4) :data:`yellow`, (5) :data:`magenta`, (6) :data:`cyan`, (7) :data:`chartreuse`, (8) :data:`springgreen`, (9) :data:`olive`, (10) :data:`purple`, (11) :data:`teal`, (12) :data:`gray`, (13) :data:`deepskyblue`, (14) :data:`lawngreen`, (15) :data:`darkgray`, (16) :data:`orangered`, (17) :data:`silver`, (18) :data:`darkorange`, (19) :data:`mediumblue`, (20) :data:`indigo`, (21) :data:`lightcoral`, (22) :data:`coral`, (23) :data:`salmon`, (24) :data:`aquamarine`, (25) :data:`gold`, (26) :data:`orange`, (27) :data:`darkmagenta`, (28) :data:`darkcyan`, (29) :data:`peru`, (30) :data:`steelblue`, (31) :data:`mediumspringgreen`, (32) :data:`darkslateblue`, (33) :data:`darkgoldenrod`, (34) :data:`lightsalmon`, (35) :data:`lightskyblue`, (36) :data:`tomato`, (37) :data:`slategray`, (38) :data:`hotpink`, (39) :data:`darkkhaki`, (40) :data:`darkturquoise`, (41) :data:`mediumseagreen`, (42) :data:`mediumvioletred`, (43) :data:`violet`, (44) :data:`greenyellow`, (45) :data:`darkseagreen`, (46) :data:`rosybrown`, (47) :data:`deeppink`, (48) :data:`saddlebrown`, (49) :data:`darkviolet`, (50) :data:`dodgerblue`, (51) :data:`lightslategray`, (52) :data:`burlywood`, (53) :data:`mediumslateblue`, (54) :data:`turquoise`, (55) :data:`skyblue`, (56) :data:`mediumturquoise`, (57) :data:`tan`, (58) :data:`limegreen`, (59) :data:`darksalmon`, (60) :data:`lightsteelblue`, (61) :data:`royalblue`, (62) :data:`palegreen`, (63) :data:`crimson`, (64) :data:`mediumorchid`, (65) :data:`khaki`, (66) :data:`lightgreen`, (67) :data:`darkslategray`, (68) :data:`darkorchid`, (69) :data:`seagreen`, (70) :data:`yellowgreen`, (71) :data:`blueviolet`, (72) :data:`palevioletred`, (73) :data:`olivedrab`, (74) :data:`mediumpurple`, (75) :data:`sandybrown`, (76) :data:`darkolivegreen`, (77) :data:`mediumaquamarine`, (78) :data:`slateblue`, (79) :data:`forestgreen`, (80) :data:`midnightblue`, (81) :data:`lightseagreen`, (82) :data:`orchid`, (83) :data:`cornflowerblue`, (84) :data:`sienna`, (85) :data:`firebrick`, (86) :data:`indianred`, (87) :data:`dimgray`, (88) :data:`chocolate`, (89) :data:`brown`, (90) :data:`goldenrod`, (91) :data:`plum` and (92) :data:`cadetblue`.
827829

828830
.. _color_map_for_real_values:
829831

830832
Color Maps for Real Values
831-
~~~~~~~~~~~~~~~~~~~~~~~~~~
832-
833-
The color *map* used to represent real values is smooth and obtained by interpolation between nominal colors. `Tinycolormap <https://github.com/yuki-koyama/tinycolormap>`_ is used to generate standard color maps:
834-
835-
================= =============================== ========================
836-
**Python-style** **Matlab-style** **GitHub-style**
837-
:data:`magma` :data:`parula` :data:`github`
838-
:data:`inferno` :data:`heat`
839-
:data:`plasma` :data:`hot`
840-
:data:`viridis` :data:`jet`
841-
:data:`cividis` :data:`gray`
842-
================= =============================== ========================
843-
844-
and :data:`viridis` is the default. See `Tinycolormap <https://github.com/yuki-koyama/tinycolormap>`_ for illustrations.
845-
846-
Alternatively, any series of colors can be used to define a color map. Neper's legacy color map (version :math:`< 4`) is :data:`blue,cyan,yellow,green` and can be obtained using :data:`legacy`.
833+
^^^^^^^^^^^^^^^^^^^^^^^^^^
834+
835+
The color *map* used to represent real values is smooth and obtained by interpolation between nominal colors. `Tinycolormap <https://github.com/yuki-koyama/tinycolormap>`_ is used to generate standard color maps, and the default is :data:`viridis`. The color maps are
836+
837+
================= ===================================================
838+
**Key** **Color bar**
839+
viridis .. image:: imgs/color-maps-real/viridis.png
840+
cividis .. image:: imgs/color-maps-real/cividis.png
841+
magma .. image:: imgs/color-maps-real/magma.png
842+
inferno .. image:: imgs/color-maps-real/inferno.png
843+
plasma .. image:: imgs/color-maps-real/plasma.png
844+
parula .. image:: imgs/color-maps-real/parula.png
845+
heat .. image:: imgs/color-maps-real/heat.png
846+
hot .. image:: imgs/color-maps-real/hot.png
847+
jet .. image:: imgs/color-maps-real/jet.png
848+
gray .. image:: imgs/color-maps-real/gray.png
849+
github .. image:: imgs/color-maps-real/github.png
850+
================= ===================================================
851+
852+
Alternatively, a custom color map can be provided as :data:`custom(<color1>,<color2>,...)`. Neper's legacy color map (version :math:`< 4`) is :data:`custom(blue,cyan,yellow,green)` and can also be obtained using :data:`legacy`:
853+
854+
================= ===================================================
855+
legacy .. image:: imgs/color-maps-real/legacy.png
856+
================= ===================================================
857+
858+
Finally, it is possible to gradually fade the start of a color map, to make it starts with white. This can be done using the :data:`fade` modifier, following the syntax :data:`<colormap>:fade[(threshold)]`. The threshold ranges from 0 to 1 and is equal to 0.1 by default. Fading is applied linearly from 0 (full fading) to the threshold (no fading). Examples are show below:
859+
860+
================= ===================================================
861+
viridis:fade .. image:: imgs/color-maps-real/viridis-fade.png
862+
viridis:fade(0.2) .. image:: imgs/color-maps-real/viridis-fade0p2.png
863+
================= ===================================================
847864

848865
.. [#muparser_doc] Taken from the :data:`muparser` `documentation <http://beltoforion.de/article.php?a=muparser>`_
849866

doc/fileformat.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -807,7 +807,7 @@ The file could be used in :data:`-T` as :data:`-n msfile(<file_name>)::msfile(<f
807807
Data File
808808
---------
809809

810-
A data file provides a number of data to be assigned to entities (seeds, cells, points, etc.). It must contain the expected number of data. It is a general, simply-formatted ASCII file that contains a fixed number of data per entity, and the data can be integers, real numbers or character strings. A real number can have an arbitrary number of digits, but the decimal mark must be :option:`.`. The data can be separated from each other by spaces, tabulators or newlines (any number as well as arbitrary combinations of them are supported). However, a good practice is to format the file with the data of one entity per line. An example of a data file containing 5 values is::
810+
A data file contains a number of data to be assigned to entities (seeds, cells, points, etc.). It must contain the expected number of data. It is a general, simply-formatted ASCII file that contains a fixed number of data per entity, and the data can be integers, real numbers or character strings. A real number can have an arbitrary number of digits, but the decimal mark must be :option:`.`. The data can be separated from each other by spaces, tabulators or newlines (any number as well as arbitrary combinations of them are supported). However, a good practice is to format the file with the data of one entity per line. An example of a data file containing 5 values is::
811811

812812
2.1235
813813
5.9564
@@ -836,7 +836,7 @@ An example of a data file containing 5 colors is::
836836
Position File
837837
-------------
838838

839-
A position file lists the coordinates of a given number of points. The file must contain 1 coordinate per point in 1D, 2 coordinates per point in 2D and 3 coordinates per point in 3D. While the dimension can be known from the context in which the file is read, it can also be specified by appending :data:`:dim` to the name of the position file, where :data:`dim` is the dimension. A coordinate can be an integer or real number. A real number can have an arbitrary number of digits, but the decimal mark must be :option:`.`. The coordinates can be separated from each other by spaces, tabulators or newlines (any number as well as arbitrary combinations of them are supported). However, a good practice is to format the file with one point per line. An example of a position file containing 5 points in 3D is::
839+
A position file contains the coordinates of a number of points. The file must contain 1 coordinate per point in 1D, 2 coordinates per point in 2D and 3 coordinates per point in 3D. While the dimension can be known from the context in which the file is read, it can also be specified by appending :data:`:dim` to the name of the position file, where :data:`dim` is the dimension. A coordinate can be an integer or real number. A real number can have an arbitrary number of digits, but the decimal mark must be :option:`.`. The coordinates can be separated from each other by spaces, tabulators or newlines (any number as well as arbitrary combinations of them are supported). However, a good practice is to format the file with one point per line. An example of a position file containing 5 points in 3D is::
840840

841841
2.1235 9.4544 5.2145
842842
5.9564 3.6884 9.2145

doc/imgs/color-maps-real/cividis.png

789 Bytes
Loading

doc/imgs/color-maps-real/github.png

718 Bytes
Loading

doc/imgs/color-maps-real/gray.png

530 Bytes
Loading

doc/imgs/color-maps-real/heat.png

677 Bytes
Loading

doc/imgs/color-maps-real/hot.png

630 Bytes
Loading

doc/imgs/color-maps-real/inferno.png

847 Bytes
Loading

doc/imgs/color-maps-real/jet.png

709 Bytes
Loading

doc/imgs/color-maps-real/legacy.png

712 Bytes
Loading

doc/imgs/color-maps-real/magma.png

812 Bytes
Loading

doc/imgs/color-maps-real/parula.png

889 Bytes
Loading

doc/imgs/color-maps-real/plasma.png

816 Bytes
Loading

0 commit comments

Comments
 (0)