https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
15class MaterialData;
17
25{
26public:
28
30
32
38 virtual void operator()(const MeshBase::const_element_iterator & range_begin,
39 const MeshBase::const_element_iterator & range_end,
40 processor_id_type p,
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
62private:
63 std::vector<MaterialPropertyStorage *> _materials;
64};
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Proxy for accessing MaterialPropertyStorage.
Stores the stateful material properties computed by materials.
const InputParameters & parameters() const
Get the parameters of the object.
Definition MooseBase.h:131
RedistributeProperties is used for its redistribute() callback, which ensures that any stateful prope...
std::vector< MaterialPropertyStorage * > _materials
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()
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't actually add anything to coupled_elements - we solely use the redistribute() ov...
RedistributeProperties(const RedistributeProperties &other)=default
void addMaterialPropertyStorage(MaterialPropertyStorage &mat_props)
Pushes the given pair ( mat_data , mat_props ) onto our list of _materials data to redistribute each ...
virtual void redistribute() override
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.
virtual std::string getInfo() const override
Method for returning relationship manager information (suitable for console output).
RelationshipManagers are used for describing what kinds of non-local resources are needed for an obje...
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type