-
Notifications
You must be signed in to change notification settings - Fork 27
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
Feature/mir #54
base: develop
Are you sure you want to change the base?
Feature/mir #54
Conversation
Thanks @MarkoSterbentz. First order of business -- it looks like you included the |
36bb5a3
to
a2c2c44
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's coming together nicely @MarkoSterbentz.
I know you're refactoring, so I only added a few comments. I'll look more closely when you give the go-ahead.
// | ||
const int quadClipTable[16][19] = | ||
{ | ||
{4,0,1,2,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@MarkoSterbentz -- Could you please add a test that loops through the ZooClippingTables
and outputs a mesh for each case?
That is, for each case of each zoo element, e.g. 'quad', create a mesh with a single element of that type, apply the case to create a decomposed mesh and output the mesh to a file, e.g. of the form mir_clippingcase_quad_{i}.vtk
, and perhaps also add a comment to the file (or dump to the screen) some metadata about the mesh, e.g. the case type, the number of vertices and elements.
If the cases are labeled according to the binary value of a vertex w.r.t. to the threshold, please make that the case id. E.g. for the case where the vertices have labels {-,+,+,-}
, the label can be mir_clippingcase_quad_06_0110.vtk
I think this will come in very handy as a debugging tool when you begin to define the 3D cases.
// | ||
// SPDX-License-Identifier: (BSD-3-Clause) | ||
|
||
/** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please move the MeshTester
files to the tests
directory
|
||
//-------------------------------------------------------------------------------- | ||
|
||
mir::MIRMesh InterfaceReconstructor::computeReconstructedInterface(mir::MIRMesh& inputMesh) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The resulting mesh should probably be passed in as an OUT parameter rather than returned.
src/axom/mir/MIRMesh.hpp
Outdated
* \param _mapData The data used to initialized the maps associated with the vertex and element sets. | ||
* \param _elementVF The volume fractions of each element. Note that this is an optional parameter. | ||
*/ | ||
void initializeMesh(VertSet _verts, ElemSet _elems, int _numMaterials, CellTopologyData _topology, CellMapData _mapData, std::vector<std::vector<axom::float64> > _elementVF = {}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
std::vector<std::vector<axom::float64> > _elementVF
Please make sure that larger/more complex objects are passed by (const) reference.
…material quad test mesh.
…g. Added support for null material. Implemented parent element tracking. Added post-processing to ensure generated elements will always contain an acceptable dominant material. Implemented basic vtk file writing.
…or the original mesh cells using the generated mesh.
…mented the iterative mesh interface reconstruction algorithm.
…roperly commented. Added unit tests. Added a map to the mesh to store element shapes.
…point for the 3D cases.
* Adds copy constructor and copy assignment operator * Adds validity check predicate -- isValid() * Adds unit tests. Initially focused on exercising constructors and assignment operators.
Implementation and tests implemented by M. Sterbentz and moved from mir component.
…reas This replaces the custom Point2 class and lerp functionality.
… bug for concentric circles test case.
…mple for MIR component. Modified MIRMesh's .vtk file output property name.
This branch contains a working implementation of the Equi-Z algorithm for 2D material interface reconstruction. In order to improve the code and make it more extensible, I plan to split up the InterfaceReconstructor class into a few different sub-classes in order to make the code easier to read and easier to write unit tests.