https://mooseframework.inl.gov
BoundaryMarker.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 "Marker.h"
13 
17 class BoundaryMarker : public Marker
18 {
19 public:
21 
23 
24 protected:
25  virtual MarkerValue computeElementMarker() override;
26 
28  const Real _distance;
29 
31  const std::unordered_map<boundary_id_type, std::unordered_set<dof_id_type>> & _bnd_elem_ids;
32 
35 
37  const std::vector<BoundaryID> _boundary_ids;
38 };
Definition: Marker.h:41
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
MarkerValue
This mirrors the main refinement flag values in libMesh in Elem::RefinementState but adds "dont_mark"...
Definition: Marker.h:59
virtual MarkerValue computeElementMarker() override
BoundaryMarker(const InputParameters &parameters)
const std::vector< BoundaryID > _boundary_ids
boundary near which to mark elements
static InputParameters validParams()
Marks all elements near a given boundary for refinement/coarsening.
const Real _distance
distance from the boundary (centroid of boundary element to centroid of marked element) ...
const MarkerValue _mark
which way to mark elements near the boundary
const std::unordered_map< boundary_id_type, std::unordered_set< dof_id_type > > & _bnd_elem_ids
lists of boundary elements for all boundaries
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
Get the parameters of the object.