https://mooseframework.inl.gov
Loading...
Searching...
No Matches
FileMeshPhysicsComponent.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 "FileMeshComponent.h"
13#include "THMMesh.h"
14
19{
20public:
22
24
25 virtual void addRelationshipManagers(Moose::RelationshipManagerType input_rm_type) override;
26 // These objects are added by the Physics already
27 virtual void addVariables() override {};
28 virtual void addMooseObjects() override {};
29
30protected:
31 virtual void init() override;
32
34 virtual std::vector<SubdomainName> getBlocks() const { return getSubdomainNames(); }
35 virtual Factory & getFactory() { return getMooseApp().getFactory(); }
36 virtual FEProblemBase & getProblem() { return getMooseApp().feProblem(); }
38 virtual const MooseMesh & getMesh() const { return constMesh(); }
40 virtual std::string prefix() const { return name() + ":"; }
41
42private:
44 std::vector<PhysicsBase *> _physics;
45};
const std::string name
Definition Setup.h:21
const THMMesh & constMesh() const
Const reference to mesh, which can be called at any point.
Definition Component.h:63
virtual const std::vector< SubdomainName > & getSubdomainNames() const
Gets the subdomain names for this component.
Definition Component.C:345
Loads a mesh from an ExodusII file without adding physics.
Create a component with user-selected Physics active on it.
virtual void addMooseObjects() override
virtual std::vector< SubdomainName > getBlocks() const
Return the blocks this component defines (assuming the ids do not overlap with other components)
virtual void init() override
Initializes the component.
virtual std::string prefix() const
Returns a useful prefix for logs.
virtual void addRelationshipManagers(Moose::RelationshipManagerType input_rm_type) override
Adds relationship managers for the component.
std::vector< PhysicsBase * > _physics
Physics that creates the equations on this component.
virtual FEProblemBase & getProblem()
static InputParameters validParams()
virtual void addVariables() override
virtual const MooseMesh & getMesh() const
Returns the mesh, which also contains other components.
Factory & getFactory()
FEProblemBase & feProblem() const
const InputParameters & parameters() const
MooseApp & getMooseApp() const
RelationshipManagerType