www.mooseframework.org
CacheChangedListsThread.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
13 
14 #include "libmesh/stored_range.h"
15 
16 class CacheChangedListsThread : public ThreadedElementLoopBase<ConstElemRange>
17 {
18 public:
21  virtual ~CacheChangedListsThread();
22 
23  virtual void onElement(const Elem * elem) override;
24 
25  void join(const CacheChangedListsThread & y);
26 
28  std::vector<const Elem *> _refined_elements;
29 
31  std::vector<const Elem *> _coarsened_elements;
32 
34  std::map<const Elem *, std::vector<const Elem *>> _coarsened_element_children;
35 };
36 
CacheChangedListsThread(MooseMesh &mesh)
void join(const CacheChangedListsThread &y)
static PetscErrorCode Vec x
std::vector< std::string > split(const std::string &str, const std::string &delimiter)
Python like split function for strings.
Definition: MooseUtils.C:736
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:74
virtual void onElement(const Elem *elem) override
Assembly of the element (not including surface assembly)
std::map< const Elem *, std::vector< const Elem * > > _coarsened_element_children
Map of Parent elements to children elements for elements that were just coarsened.
std::vector< const Elem * > _refined_elements
The elements that were just refined.
Base class for assembly-like calculations.
std::vector< const Elem * > _coarsened_elements
The elements that were just coarsened.