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

Feature/mir #54

Open
wants to merge 24 commits into
base: develop
Choose a base branch
from
Open

Feature/mir #54

wants to merge 24 commits into from

Conversation

MarkoSterbentz
Copy link
Contributor

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.

@kennyweiss
Copy link
Member

Thanks @MarkoSterbentz.

First order of business -- it looks like you included the uberenv_libs in your PR. We will need to remove this from your git history since it adds thousands of large files. I can help you with this on Monday.

Copy link
Member

@kennyweiss kennyweiss left a 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.

src/index.rst Outdated Show resolved Hide resolved
src/docs/dependencies.dot Outdated Show resolved Hide resolved
//
const int quadClipTable[16][19] =
{
{4,0,1,2,3,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1},
Copy link
Member

@kennyweiss kennyweiss Jun 25, 2019

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)

/**
Copy link
Member

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

src/axom/mir/CMakeLists.txt Outdated Show resolved Hide resolved

//--------------------------------------------------------------------------------

mir::MIRMesh InterfaceReconstructor::computeReconstructedInterface(mir::MIRMesh& inputMesh)
Copy link
Member

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.

* \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 = {});
Copy link
Member

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.

kennyweiss and others added 22 commits July 8, 2019 21:33
…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.
* 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.
@kennyweiss kennyweiss marked this pull request as ready for review July 24, 2019 18:32
@kennyweiss kennyweiss added the MIR Issues related to Axom's 'mir' component label Jul 24, 2019
…mple for MIR component. Modified MIRMesh's .vtk file output property name.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MIR Issues related to Axom's 'mir' component
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants