40 virtual void act()
override;
56 const std::string & var_type,
57 const VariableName & var_name,
59 const std::vector<SubdomainName> &
blocks,
60 const std::string & requester);
Specialized factory for generic Action System objects.
Storage for action instances.
Lets multiple Physics instances (for example one per component) share a single variable across all of...
static PhysicsVariableCoordinator & findOrCreate(ActionWarehouse &awh, ActionFactory &action_factory)
Finds this simulation's coordinator, creating it and adding it to awh (using action_factory) if it do...
void checkFVAdjacency(const VariableName &var_name, const MergedRequest &req) const
Errors if req is a finite volume variable on two adjacent subdomains that no single requester is defi...
virtual void act() override
Method to add objects to the simulation or perform other setup tasks.
std::map< VariableName, MergedRequest > _requests
Pending variable requests, keyed by variable name.
void requestVariable(bool nl, const std::string &var_type, const VariableName &var_name, const InputParameters ¶ms, const std::vector< SubdomainName > &blocks, const std::string &requester)
Requests that a shared variable be created on blocks, in addition to any blocks already requested for...
static InputParameters validParams()
The merged requests for one shared variable.
std::vector< std::pair< std::string, std::vector< SubdomainName > > > _requester_blocks
Name of each requesting Physics, in request order, with the blocks it requested.
InputParameters _params
Parameters of the variable, from the first request.
bool _nl
Whether the variable is a solver variable, as opposed to an auxiliary one.
std::string _type
Type of the variable.