You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now we can do nested lattices using extra element ids.
Assembly_id to know which assembly we're in, pin_id to know the pin (etc for sector & axial divisions). This works nice when creating the mesh and it is very resilient to the mesh displacement as the extra Ids remain attached the displaced elements.
However, it does not really:
give a clean way to know how many bins there are, which is useful for postprocessing or transfers (mapping between indexes and subapps for example). The only way to know is for every object to query the unique combination of extraIDs from the MooseMeshUtils.
give a clean way to output which bin index is where in the mesh
work for geometries that were meshed outside of MOOSE and may not have the extra element IDs. Adding extra IDs is possible in MOOSE, there are a few MGs that can do it.
give a way to grid up the space outside of the app. For example, if we have a single assembly calculation and we want to know what the index of the assembly on each side of it would be, we would need the mesh there to be able to read them. This is useful if using a mesh division encompassing all subapps instead of just the subapp domain in transfers + mesh_divisions
work with nodal EIDs. Nodal EIDs are way less supports than EEIDs and yet we would need the same amount of support to be able to flip effortlessly between one and the other in transfers
An alternative way to do this would be to generate Positions (either from the EEIDs (centroids of groups of EEIDs for example), or from a file, or using a known grid) then distribute local lattices (Cartesian, Hex, ...) using mesh divisions.
This is also fairly resilient to mesh displacement (the center moves, but the sub-bins cannot deform too much!). It has the advantage of being contiguously numbered and also have a known number of pins. We also can output the mesh divison to exodus using a MeshDivisionAux. It does all the other things.
Design
Distributing mesh divisions with a simple positions object for the center of the local grids.
In Cartesian, Hex, Spherical, CylindricalGridPositions object
Impact
Options for modeling. Easier postprocessing
The text was updated successfully, but these errors were encountered:
changing: spherical, cylindrical, cartesian, hexagonal divisions
refs idaholab#26223
Also only output a warning for positions being too close, it's not always
relevant as cell centroids can still be well within the uniquely defined divisions
refs idaholab#25901
changing: spherical, cylindrical, cartesian, hexagonal divisions
refs idaholab#26223
Also only output a warning for positions being too close, it's not always
relevant as cell centroids can still be well within the uniquely defined divisions
refs idaholab#25901
Reason
Right now we can do nested lattices using extra element ids.
Assembly_id to know which assembly we're in, pin_id to know the pin (etc for sector & axial divisions). This works nice when creating the mesh and it is very resilient to the mesh displacement as the extra Ids remain attached the displaced elements.
However, it does not really:
An alternative way to do this would be to generate Positions (either from the EEIDs (centroids of groups of EEIDs for example), or from a file, or using a known grid) then distribute local lattices (Cartesian, Hex, ...) using mesh divisions.
This is also fairly resilient to mesh displacement (the center moves, but the sub-bins cannot deform too much!). It has the advantage of being contiguously numbered and also have a known number of pins. We also can output the mesh divison to exodus using a MeshDivisionAux. It does all the other things.
Design
Distributing mesh divisions with a simple positions object for the center of the local grids.
In Cartesian, Hex, Spherical, CylindricalGridPositions object
Impact
Options for modeling. Easier postprocessing
The text was updated successfully, but these errors were encountered: