https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MeshCoarseningUtils.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
12#include "libmesh/elem.h"
13#include "libmesh/node.h"
14#include "libmesh/point.h"
15
17{
30 const libMesh::Node & reference_node,
31 const libMesh::Elem & elem,
32 std::vector<const libMesh::Node *> & tentative_coarse_nodes,
33 std::set<const libMesh::Elem *> & fine_elements);
34
42void reorderNodes(std::vector<const libMesh::Node *> & nodes,
43 const libMesh::Point & origin,
44 const libMesh::Point & clock_start,
45 libMesh::Point & axis);
46
54unsigned int getOppositeNodeIndex(libMesh::ElemType elem_type, unsigned int node_index);
55}
void reorderNodes(std::vector< const libMesh::Node * > &nodes, const libMesh::Point &origin, const libMesh::Point &clock_start, libMesh::Point &axis)
Utility routine to re-order a vector of nodes so that they can form a valid quad element.
unsigned int getOppositeNodeIndex(libMesh::ElemType elem_type, unsigned int node_index)
Utility routine to get the index of the node opposite, in the element, to the node of interest.
bool getFineElementsFromInteriorNode(const libMesh::Node &interior_node, const libMesh::Node &reference_node, const libMesh::Elem &elem, std::vector< const libMesh::Node * > &tentative_coarse_nodes, std::set< const libMesh::Elem * > &fine_elements)
Utility routine to gather vertex nodes for, and elements contained in, for a coarse QUAD or HEX eleme...