https://mooseframework.inl.gov
RedistributeProperties.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 "RelationshipManager.h"
13 
14 // MOOSE Forward Declares
15 class MaterialData;
17 
25 {
26 public:
28 
30 
31  RedistributeProperties(const RedistributeProperties & other) = default;
32 
38  virtual void operator()(const MeshBase::const_element_iterator & range_begin,
39  const MeshBase::const_element_iterator & range_end,
41  map_type & coupled_elements) override;
42 
47  virtual std::unique_ptr<GhostingFunctor> clone() const override;
48 
49  virtual std::string getInfo() const override;
50 
51  virtual bool operator>=(const RelationshipManager & rhs) const override;
52 
53  virtual void redistribute() override;
54 
61 
62 private:
63  std::vector<MaterialPropertyStorage *> _materials;
64 };
Stores the stateful material properties computed by materials.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual std::string getInfo() const override
Method for returning relationship manager information (suitable for console output).
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type
RedistributeProperties(const InputParameters &parameters)
uint8_t processor_id_type
std::vector< MaterialPropertyStorage * > _materials
virtual void operator()(const MeshBase::const_element_iterator &range_begin, const MeshBase::const_element_iterator &range_end, processor_id_type p, map_type &coupled_elements) override
This function doesn&#39;t actually add anything to coupled_elements - we solely use the redistribute() ov...
virtual void redistribute() override
RelationshipManagers are used for describing what kinds of non-local resources are needed for an obje...
void addMaterialPropertyStorage(MaterialPropertyStorage &mat_props)
Pushes the given pair ( mat_data , mat_props ) onto our list of _materials data to redistribute each ...
virtual bool operator>=(const RelationshipManager &rhs) const override
Whether this relationship manager provides more or the same amount and type of ghosting as the rhs...
const InputParameters & parameters() const
Get the parameters of the object.
Proxy for accessing MaterialPropertyStorage.
Definition: MaterialData.h:33
virtual std::unique_ptr< GhostingFunctor > clone() const override
Abstract GhostingFunctor code relies on clone(), which for us is just a copy construction into a new ...
static InputParameters validParams()
RedistributeProperties is used for its redistribute() callback, which ensures that any stateful prope...