https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ThreeMaterialPropertyInterface.C
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
11#include "MaterialData.h"
12#include "InputParameters.h"
13#include "FEProblemBase.h"
14
17{
18 // Objects inheriting from ThreeMaterialPropertyInterface rely on Boundary MaterialData
20 // We want the properties returned by getMaterialProperty* to be the volumetric ones
21 params.set<Moose::MaterialDataType>("_material_data_type") = Moose::BLOCK_MATERIAL_DATA;
22 return params;
23}
24
26 const MooseObject * moose_object,
27 const std::set<SubdomainID> & blocks_ids,
28 const std::set<BoundaryID> & boundary_ids)
29 : TwoMaterialPropertyInterface(moose_object, blocks_ids, boundary_ids),
30 _face_material_data(_mi_feproblem.getMaterialData(
31 Moose::FACE_MATERIAL_DATA, _mi_params.get<THREAD_ID>("_tid"), moose_object))
32{
33}
unsigned int THREAD_ID
Definition MooseTypes.h:237
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
T & set(const std::string &name, bool quiet_mode=false)
Returns a writable reference to the named parameters.
Every object that can be built by the factory should be derived from this class.
Definition MooseObject.h:31
ThreeMaterialPropertyInterface(const MooseObject *moose_object, const std::set< SubdomainID > &blocks_ids, const std::set< BoundaryID > &boundary_ids)
This interface is designed for DGKernel, InternalSideUserObject, InterfaceUserObject,...
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
MaterialDataType
MaterialData types.
Definition MooseTypes.h:746
@ BLOCK_MATERIAL_DATA
Definition MooseTypes.h:747