svalinn / dagmc_stats

Tool for calculating and reporting statistics about DAGMC models
BSD 3-Clause "New" or "Revised" License
1 stars 5 forks source link

measure surface "roughness" #40

Closed kkiesling closed 3 years ago

kkiesling commented 5 years ago

It would be beneficial to determine the surface "roughness" in a geometry. This could be some characteristic value for each surface or a value that is tagged on each triangle to create essentially a heat map of roughness. There seems to be many different ways to calculate roughness of a 3D mesh, so more research is needed to determine what is most beneficial and the correct way to calculate for our needs.

kkiesling commented 4 years ago

After some literature review with @yqin43, this paper looks to be the most promising and easiest way to measure roughness. Equation 3 will get us the local roughness value for each vertex. Equation 5 extends that to an average for the whole mesh (which I think we can use per volume, per surface, or even per individual facet).

As far as usable output, I have two thoughts:

  1. Output list of local roughness values (can be per surface, per volume, or whole geometry) - just like we do already with other stats.
  2. Tag the geometry with LR values on each vertex or facet and write out the geometry file again (could be used for visualizing?).
kkiesling commented 4 years ago

Tagging the geometry file and writing the file out again brings up the question of whether we want this DAGMC Stats tool to be manipulating geometry files like that. @gonuke do you have any thoughts about whether this tool should be used for this type of thing?

gonuke commented 4 years ago

It could be a user option to either tag nothing or tag some standard set of metrics. Definitely not a user option to turn on/off tagging of different quantities independently.

gonuke commented 3 years ago

Effectively completed by #66, now pending class refactor