Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VTK-m MIR #1326

Merged
merged 23 commits into from
Jul 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
4bbecd0
start a unit test
nicolemarsaglia May 9, 2024
14b1f17
change names
nicolemarsaglia May 15, 2024
137b584
start of mir
nicolemarsaglia May 23, 2024
2b37545
add materials as fields -- think about renaming
nicolemarsaglia May 24, 2024
d08ac4b
stop playing with vtkm data and lets live in conduit land. Add the ca…
nicolemarsaglia May 29, 2024
dc2ac51
it works. idk if it's correct
nicolemarsaglia May 30, 2024
1f03700
please leave
nicolemarsaglia May 30, 2024
6a0ed35
start of MIR docs
nicolemarsaglia May 30, 2024
afe36f5
add examples
nicolemarsaglia May 30, 2024
1ecb7d8
update test and add baseline. clean up comments. fix mir ids -- can't…
nicolemarsaglia May 31, 2024
916ef2c
add discrete color bar to mir rendering
nicolemarsaglia Jun 6, 2024
b790015
changelog
nicolemarsaglia Jun 6, 2024
9293cc6
changelog
nicolemarsaglia Jun 6, 2024
2e46ff8
default to conduit naming conventions for now. zero copy for sparse_b…
nicolemarsaglia Jun 18, 2024
bc02cd5
start of sparse_by_material. can't do zero copy but can probably comb…
nicolemarsaglia Jun 18, 2024
47fdbf7
fix offsetting volume fractions -- needed to encorporate length. Stil…
nicolemarsaglia Jun 20, 2024
51246d3
Merge branch 'develop' into task/2024_05_vtkm_material_interface_recon
nicolemarsaglia Jul 9, 2024
1e38aad
check for nonzeroes. zero copy when we can
nicolemarsaglia Jul 17, 2024
052001d
Merge branch 'task/2024_05_vtkm_material_interface_recon' of https://…
nicolemarsaglia Jul 17, 2024
26bc850
update docs. rename output from cellmat to matset name
nicolemarsaglia Jul 17, 2024
25e15b7
filter output name is matset name, fix zero copy, rework discrete to …
nicolemarsaglia Jul 18, 2024
988bfa7
add color table discrete option to docs. change number of colorbar ti…
nicolemarsaglia Jul 18, 2024
4b14303
some cleanup
nicolemarsaglia Jul 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,16 @@ and this project aspires to adhere to [Semantic Versioning](https://semver.org/s
- Added a `vtk` extract that saves each mesh domain to a legacy vtk file grouped, with all domain data grouped by a `.visit` file.
- Added particle advection for streamline and related rendering support.
- Added WarpX Streamline filter that uses charged particles.
- Added Uniform Grid Sampling filter.
- Added Material Interface Reconstruction (`mir`) filter which produces matset output field.
- Added seed population options for particle advection: point, point list, line, and box
- Added more Ascent tutorial examples
- Added support for implicit points style Blueprint input meshes
- Added actions for shell commands and simulation code function callbacks
- Added a `cylinder` option to the clip filter.
- Added `box`, `plane`, `cylinder`, and `sphere` options to the Threshold filter, enabling sub selecting a mesh spatially.


### Changed
- Changed the Data Binning filter to accept a `reduction_field` parameter (instead of `var`), and similarly the axis parameters to take `field` (instead of `var`). The `var` style parameters are still accepted, but deprecated and will be removed in a future release.
- Changed the Streamline and WarpXStreamline filters to apply the VTK-m Tube filter to their outputs, allowing for the results to be rendered.
Expand Down
11 changes: 11 additions & 0 deletions src/docs/sphinx/Actions/Examples.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1018,3 +1018,14 @@ YAML actions:

.. literalinclude:: examples/tout_render_amr_complex_ghost100.yaml


An example of using the Material Interface Reconstruction filter.
--------------------------------------------------------------------------------------------------

YAML actions:

.. literalinclude:: examples/tout_mir_venn0.yaml

Resulting image:

.. image:: examples/tout_mir_venn0.png
19 changes: 19 additions & 0 deletions src/docs/sphinx/Actions/Pipelines.rst
Original file line number Diff line number Diff line change
Expand Up @@ -964,6 +964,25 @@ accurate but slower point based gradients (default).
params["output_name"] = "my_q"; // (required) name of the output field
params["use_cell_gradient"] = "false"; // (optional)

Material Interface Reconstruction
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The Material Interface Reconstruction (MIR) filter can be used to represent and track the interfaces between different materials or phases in a multiphase flow.
The user must specify the name of the material set (`matset`) they wish to use.
Optional parameters include error scaling (`error_scaling`), scaling decay (`scaling_decay`), maximum iterations (`iterations`), and maximum error percentage (`max_error`).
The output field of the MIR Filter will be the name of the material set and can be used further in scenes or pipelines.

.. code-block:: c++

conduit::Node pipelines;
// pipeline 1
pipelines["pl1/f1/type"] = "mir";
//params optional
conduit::Node &params = pipelines["pl1/f1/params"];
params["matset"] = "matset"; //required
params["error_scaling"] = 0.2; //default: 0.0
params["scaling_decay"] = 1.0; //default: 0.0
params["iterations"] = 8; //default: 0
params["max_error"] = 0.00001; //default: 0.00001


Partitioning
Expand Down
5 changes: 5 additions & 0 deletions src/docs/sphinx/Actions/Scenes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,11 @@ Color in the table can be reversed through an optional parameter:

scenes["s1/plots/p1/color_table/reverse"] = "true";

The color table can be made (pseudo) discrete through an optional parameter:

.. code-block:: c++

scenes["s1/plots/p1/color_table/discrete"] = "true";


Volume plots are special since ray casting blends colors together.
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions src/docs/sphinx/Actions/examples/tout_mir_venn100.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#An example of using the MIR filter and plotting the field 'cellMat'.

-
action: "add_pipelines"
pipelines:
pl1:
f1:
type: "mir"
params:
matset: "matset"
error_scaling: 0.0
scaling_decay: 0.0
iterations: 0
max_error: 1e-05
-
action: "add_scenes"
scenes:
s1:
plots:
p1:
type: "pseudocolor"
field: "cellMat"
pipeline: "pl1"
image_prefix: "/home/user/ascent/build/tests/_output/tout_mir_venn"
Loading