Skip to content

Commit

Permalink
Update BoundaryRestrictable to use MooseObject pointer
Browse files Browse the repository at this point in the history
  • Loading branch information
aeslaughter committed Oct 23, 2017
1 parent d70aba2 commit a269d62
Show file tree
Hide file tree
Showing 16 changed files with 38 additions and 37 deletions.
6 changes: 3 additions & 3 deletions framework/include/base/BoundaryRestrictable.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class BoundaryRestrictable
* @param parameters The input parameters
* @param nodal True indicates that the object is operating on nodesets, false for sidesets
*/
BoundaryRestrictable(const InputParameters & parameters, bool nodal);
BoundaryRestrictable(const MooseObject * moose_object, bool nodal);

/**
* Class constructor
Expand All @@ -60,7 +60,7 @@ class BoundaryRestrictable
* @param block_ids The block ids that the object is restricted to
* @param nodal True indicates that the object is operating on nodesets, false for sidesets
*/
BoundaryRestrictable(const InputParameters & parameters,
BoundaryRestrictable(const MooseObject * moose_object,
const std::set<SubdomainID> & block_ids,
bool nodal);

Expand Down Expand Up @@ -213,7 +213,7 @@ class BoundaryRestrictable
/**
* An initialization routine needed for dual constructors
*/
void initializeBoundaryRestrictable(const InputParameters & parameters);
void initializeBoundaryRestrictable(const MooseObject * moose_object);

protected:
/**
Expand Down
2 changes: 1 addition & 1 deletion framework/include/base/BoundaryRestrictableRequired.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ InputParameters validParams<BoundaryRestrictableRequired>();
class BoundaryRestrictableRequired : public BoundaryRestrictable
{
public:
BoundaryRestrictableRequired(const InputParameters & parameters, bool nodal);
BoundaryRestrictableRequired(const MooseObject * moose_object, bool nodal);
};

#endif // BOUNDARYRESTRICTABLEREQURIED_H
2 changes: 1 addition & 1 deletion framework/src/auxkernels/AuxKernel.C
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ validParams<AuxKernel>()
AuxKernel::AuxKernel(const InputParameters & parameters)
: MooseObject(parameters),
BlockRestrictable(this),
BoundaryRestrictable(parameters,
BoundaryRestrictable(this,
parameters.get<AuxiliarySystem *>("_aux_sys")
->getVariable(parameters.get<THREAD_ID>("_tid"),
parameters.get<AuxVariableName>("variable"))
Expand Down
38 changes: 20 additions & 18 deletions framework/src/base/BoundaryRestrictable.C
Original file line number Diff line number Diff line change
Expand Up @@ -38,42 +38,44 @@ validParams<BoundaryRestrictable>()
}

// Standard constructor
BoundaryRestrictable::BoundaryRestrictable(const InputParameters & parameters, bool nodal)
: _bnd_feproblem(parameters.isParamValid("_fe_problem_base")
? parameters.get<FEProblemBase *>("_fe_problem_base")
BoundaryRestrictable::BoundaryRestrictable(const MooseObject * moose_object, bool nodal)
: _bnd_feproblem(moose_object->isParamValid("_fe_problem_base")
? moose_object->getParam<FEProblemBase *>("_fe_problem_base")
: NULL),
_bnd_mesh(parameters.isParamValid("_mesh") ? parameters.get<MooseMesh *>("_mesh") : NULL),
_bnd_dual_restrictable(parameters.get<bool>("_dual_restrictable")),
_bnd_mesh(moose_object->isParamValid("_mesh") ? moose_object->getParam<MooseMesh *>("_mesh")
: NULL),
_bnd_dual_restrictable(moose_object->getParam<bool>("_dual_restrictable")),
_block_ids(_empty_block_ids),
_bnd_tid(parameters.isParamValid("_tid") ? parameters.get<THREAD_ID>("_tid") : 0),
_bnd_tid(moose_object->isParamValid("_tid") ? moose_object->getParam<THREAD_ID>("_tid") : 0),
_bnd_material_data(_bnd_feproblem->getMaterialData(Moose::BOUNDARY_MATERIAL_DATA, _bnd_tid)),
_bnd_nodal(nodal)
{
initializeBoundaryRestrictable(parameters);
initializeBoundaryRestrictable(moose_object);
}

// Dual restricted constructor
BoundaryRestrictable::BoundaryRestrictable(const InputParameters & parameters,
BoundaryRestrictable::BoundaryRestrictable(const MooseObject * moose_object,
const std::set<SubdomainID> & block_ids,
bool nodal)
: _bnd_feproblem(parameters.isParamValid("_fe_problem_base")
? parameters.get<FEProblemBase *>("_fe_problem_base")
: _bnd_feproblem(moose_object->isParamValid("_fe_problem_base")
? moose_object->getParam<FEProblemBase *>("_fe_problem_base")
: NULL),
_bnd_mesh(parameters.isParamValid("_mesh") ? parameters.get<MooseMesh *>("_mesh") : NULL),
_bnd_dual_restrictable(parameters.get<bool>("_dual_restrictable")),
_bnd_mesh(moose_object->isParamValid("_mesh") ? moose_object->getParam<MooseMesh *>("_mesh")
: NULL),
_bnd_dual_restrictable(moose_object->getParam<bool>("_dual_restrictable")),
_block_ids(block_ids),
_bnd_tid(parameters.isParamValid("_tid") ? parameters.get<THREAD_ID>("_tid") : 0),
_bnd_tid(moose_object->isParamValid("_tid") ? moose_object->getParam<THREAD_ID>("_tid") : 0),
_bnd_material_data(_bnd_feproblem->getMaterialData(Moose::BOUNDARY_MATERIAL_DATA, _bnd_tid)),
_bnd_nodal(nodal)
{
initializeBoundaryRestrictable(parameters);
initializeBoundaryRestrictable(moose_object);
}

void
BoundaryRestrictable::initializeBoundaryRestrictable(const InputParameters & parameters)
BoundaryRestrictable::initializeBoundaryRestrictable(const MooseObject * moose_object)
{
// The name and id of the object
const std::string & name = parameters.get<std::string>("_object_name");
const std::string & name = moose_object->getParam<std::string>("_object_name");

// If the mesh pointer is not defined, but FEProblemBase is, get it from there
if (_bnd_feproblem != NULL && _bnd_mesh == NULL)
Expand All @@ -85,10 +87,10 @@ BoundaryRestrictable::initializeBoundaryRestrictable(const InputParameters & par
"a pointer to the MooseMesh via '_mesh'");

// If the user supplies boundary IDs
if (parameters.isParamValid("boundary"))
if (moose_object->isParamValid("boundary"))
{
// Extract the blocks from the input
_boundary_names = parameters.get<std::vector<BoundaryName>>("boundary");
_boundary_names = moose_object->getParam<std::vector<BoundaryName>>("boundary");

// Get the IDs from the supplied names
std::vector<BoundaryID> vec_ids = _bnd_mesh->getBoundaryIDs(_boundary_names, true);
Expand Down
4 changes: 2 additions & 2 deletions framework/src/base/BoundaryRestrictableRequired.C
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ validParams<BoundaryRestrictableRequired>()
return params;
}

BoundaryRestrictableRequired::BoundaryRestrictableRequired(const InputParameters & parameters,
BoundaryRestrictableRequired::BoundaryRestrictableRequired(const MooseObject * moose_object,
bool nodal)
: BoundaryRestrictable(parameters, nodal)
: BoundaryRestrictable(moose_object, nodal)
{
}
2 changes: 1 addition & 1 deletion framework/src/bcs/BoundaryCondition.C
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ validParams<BoundaryCondition>()

BoundaryCondition::BoundaryCondition(const InputParameters & parameters, bool nodal)
: MooseObject(parameters),
BoundaryRestrictableRequired(parameters, nodal),
BoundaryRestrictableRequired(this, nodal),
SetupInterface(this),
FunctionInterface(this),
DistributionInterface(this),
Expand Down
2 changes: 1 addition & 1 deletion framework/src/dgkernels/DGKernelBase.C
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Threads::spin_mutex DGKernelBase::_jacoby_vars_mutex;

DGKernelBase::DGKernelBase(const InputParameters & parameters)
: MooseObject(parameters),
BoundaryRestrictable(parameters, false), // false for _not_ nodal
BoundaryRestrictable(this, false), // false for _not_ nodal
SetupInterface(this),
TransientInterface(this),
FunctionInterface(this),
Expand Down
2 changes: 1 addition & 1 deletion framework/src/ics/InitialCondition.C
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ InitialCondition::InitialCondition(const InputParameters & parameters)
.isNodal()),
FunctionInterface(this),
UserObjectInterface(this),
BoundaryRestrictable(parameters, _c_nodal),
BoundaryRestrictable(this, _c_nodal),
DependencyResolverInterface(),
Restartable(parameters, "InitialConditions"),
ZeroInterface(parameters),
Expand Down
2 changes: 1 addition & 1 deletion framework/src/materials/Material.C
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ validParams<Material>()
Material::Material(const InputParameters & parameters)
: MooseObject(parameters),
BlockRestrictable(this),
BoundaryRestrictable(parameters, blockIDs(), false), // false for being _not_ nodal
BoundaryRestrictable(this, blockIDs(), false), // false for being _not_ nodal
SetupInterface(this),
Coupleable(this, false),
MooseVariableDependencyInterface(),
Expand Down
3 changes: 1 addition & 2 deletions framework/src/multiapps/AutoPositionsMultiApp.C
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@ validParams<AutoPositionsMultiApp>()
}

AutoPositionsMultiApp::AutoPositionsMultiApp(const InputParameters & parameters)
: TransientMultiApp(parameters),
BoundaryRestrictable(parameters, true) // true for applying to nodesets
: TransientMultiApp(parameters), BoundaryRestrictable(this, true) // true for applying to nodesets
{
}

Expand Down
2 changes: 1 addition & 1 deletion framework/src/nodalkernels/NodalKernel.C
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ validParams<NodalKernel>()
NodalKernel::NodalKernel(const InputParameters & parameters)
: MooseObject(parameters),
BlockRestrictable(this),
BoundaryRestrictable(parameters, true), // true for applying to nodesets
BoundaryRestrictable(this, true), // true for applying to nodesets
SetupInterface(this),
FunctionInterface(this),
UserObjectInterface(this),
Expand Down
2 changes: 1 addition & 1 deletion framework/src/userobject/NodalNormalsPreprocessor.C
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ validParams<NodalNormalsPreprocessor>()

NodalNormalsPreprocessor::NodalNormalsPreprocessor(const InputParameters & parameters)
: ElementUserObject(parameters),
BoundaryRestrictable(parameters, true), // true for applying to nodesets
BoundaryRestrictable(this, true), // true for applying to nodesets
_aux(_fe_problem.getAuxiliarySystem()),
_fe_type(getParam<Order>("fe_order"), getParam<FEFamily>("fe_family")),
_has_corners(isParamValid("corner_boundary")),
Expand Down
2 changes: 1 addition & 1 deletion framework/src/userobject/NodalUserObject.C
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ validParams<NodalUserObject>()
NodalUserObject::NodalUserObject(const InputParameters & parameters)
: UserObject(parameters),
BlockRestrictable(this),
BoundaryRestrictable(parameters, blockIDs(), true), // true for applying to nodesets
BoundaryRestrictable(this, blockIDs(), true), // true for applying to nodesets
UserObjectInterface(this),
Coupleable(this, true),
MooseVariableDependencyInterface(),
Expand Down
2 changes: 1 addition & 1 deletion framework/src/userobject/SideUserObject.C
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ validParams<SideUserObject>()

SideUserObject::SideUserObject(const InputParameters & parameters)
: UserObject(parameters),
BoundaryRestrictableRequired(parameters, false), // false for applying to sidesets
BoundaryRestrictableRequired(this, false), // false for applying to sidesets
MaterialPropertyInterface(this, boundaryIDs()),
Coupleable(this, false),
MooseVariableDependencyInterface(),
Expand Down
2 changes: 1 addition & 1 deletion modules/rdg/src/userobjects/ElementLoopUserObject.C
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ ElementLoopUserObject::ElementLoopUserObject(const InputParameters & parameters)

ElementLoopUserObject::ElementLoopUserObject(ElementLoopUserObject & x, Threads::split /*split*/)
: GeneralUserObject(x.parameters()),
BlockRestrictable(x.parameters()),
BlockRestrictable(&x),
Coupleable(this, false),
MooseVariableDependencyInterface(),
ZeroInterface(x.parameters()),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ const Real CrackFrontDefinition::_tol = 1e-10;

CrackFrontDefinition::CrackFrontDefinition(const InputParameters & parameters)
: GeneralUserObject(parameters),
BoundaryRestrictable(parameters, true), // false means nodesets
BoundaryRestrictable(this, true), // false means nodesets
_aux(_fe_problem.getAuxiliarySystem()),
_mesh(_subproblem.mesh()),
_treat_as_2d(getParam<bool>("2d")),
Expand Down

0 comments on commit a269d62

Please sign in to comment.