Skip to content

Commit

Permalink
Merge pull request #254 from lindsayad/nl-sys-args-24373
Browse files Browse the repository at this point in the history
Provide explicit arguments for determining nonlinear systems
  • Loading branch information
smpark7 authored Oct 12, 2023
2 parents 999bd5a + 9a97c54 commit b104f01
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 20 deletions.
4 changes: 2 additions & 2 deletions src/actions/NtAction.C
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ NtAction::act()

if (_current_task == "copy_nodal_vars")
{
SystemBase * system = &_problem->getNonlinearSystemBase();
SystemBase * system = &_problem->getNonlinearSystemBase(/*nl_sys_num=*/0);
system->addVariableToCopy(var_name, var_name, "LATEST");
}
}
Expand Down Expand Up @@ -374,7 +374,7 @@ NtAction::act()
if (_current_task == "copy_nodal_vars")
{
SystemBase * system;
system = &_problem->getNonlinearSystemBase();
system = &_problem->getNonlinearSystemBase(/*nl_sys_num=*/0);
system->addVariableToCopy(temp_var, temp_var, "LATEST");
}
}
Expand Down
34 changes: 16 additions & 18 deletions src/actions/PrecursorAction.C
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,8 @@ PrecursorAction::validParams()
params.addParam<bool>(
"init_from_file", false, "Whether to initialize the precursors from a file.");
params.addParam<bool>("create_vars", true, "Whether this action should create the variables.");
params.addRequiredParam<bool>(
"loop_precursors", "Whether precursors are circulated in coolant loop.");
params.addRequiredParam<bool>("loop_precursors",
"Whether precursors are circulated in coolant loop.");
params.addParam<std::string>(
"object_suffix",
"",
Expand Down Expand Up @@ -128,7 +128,7 @@ PrecursorAction::act()

else if (_current_task == "copy_nodal_vars")
{
SystemBase * system = &_problem->getNonlinearSystemBase();
SystemBase * system = &_problem->getNonlinearSystemBase(/*nl_sys_num=*/0);
system->addVariableToCopy(var_name, var_name, "LATEST");
}
}
Expand Down Expand Up @@ -175,8 +175,7 @@ PrecursorAction::act()
}

// transfers
else if (_current_task == "add_transfer" && getParam<bool>("loop_precursors") &&
(!_is_loopapp))
else if (_current_task == "add_transfer" && getParam<bool>("loop_precursors") && (!_is_loopapp))
{
// Set up MultiAppTransfer to simulate precursor looped flow into and
// out of the reactor core
Expand Down Expand Up @@ -313,7 +312,7 @@ PrecursorAction::addOutflowBC(const std::string & var_name)
InputParameters params = _factory.getValidParams("CoupledOutflowBC");
params.set<NonlinearVariableName>("variable") = var_name;
params.set<std::vector<BoundaryName>>("boundary") =
getParam<std::vector<BoundaryName>>("outlet_boundaries");
getParam<std::vector<BoundaryName>>("outlet_boundaries");
params.set<std::vector<VariableName>>("uvel") = {getParam<NonlinearVariableName>("uvel")};
if (isParamValid("vvel"))
params.set<std::vector<VariableName>>("vvel") = {getParam<NonlinearVariableName>("vvel")};
Expand Down Expand Up @@ -429,7 +428,7 @@ PrecursorAction::addOutletPostprocessor(const std::string & var_name)
params.set<std::vector<BoundaryName>>("boundary") =
getParam<std::vector<BoundaryName>>("outlet_boundaries");
params.set<std::vector<OutputName>>("outputs") = {"none"};
_problem->addPostprocessor("SideAverageValue", postproc_name, params);
_problem->addPostprocessor("SideAverageValue", postproc_name, params);
}
else if (isParamValid("uvel")) // checks if Navier-Stokes velocities are provided
{
Expand All @@ -443,8 +442,8 @@ PrecursorAction::addOutletPostprocessor(const std::string & var_name)
params.set<std::vector<BoundaryName>>("boundary") =
getParam<std::vector<BoundaryName>>("outlet_boundaries");
params.set<std::vector<OutputName>>("outputs") = {"none"};
params.set<std::vector<VariableName>>("weight") =
{getParam<NonlinearVariableName>("outlet_vel")};
params.set<std::vector<VariableName>>("weight") = {
getParam<NonlinearVariableName>("outlet_vel")};

_problem->addPostprocessor("SideWeightedIntegralPostprocessor", postproc_name, params);
}
Expand All @@ -458,7 +457,7 @@ PrecursorAction::addOutletPostprocessor(const std::string & var_name)
params.set<PostprocessorName>("value1") = "Outlet_Total_" + var_name + "_" + _object_suffix;
params.set<PostprocessorName>("value2") = "Coolant_Outflow_" + _object_suffix;
params.set<std::vector<OutputName>>("outputs") = {"none"};
_problem->addPostprocessor("DivisionPostprocessor", postproc_name, params);
_problem->addPostprocessor("DivisionPostprocessor", postproc_name, params);
}
}
}
Expand Down Expand Up @@ -511,8 +510,8 @@ PrecursorAction::addCoolantOutflowPostprocessor()
{
std::string postproc_name = "Coolant_Outflow_" + _object_suffix;
InputParameters params = _factory.getValidParams("SideWeightedIntegralPostprocessor");
params.set<std::vector<VariableName>>("variable") =
{getParam<NonlinearVariableName>("outlet_vel")};
params.set<std::vector<VariableName>>("variable") = {
getParam<NonlinearVariableName>("outlet_vel")};
params.set<std::vector<BoundaryName>>("boundary") =
getParam<std::vector<BoundaryName>>("outlet_boundaries");
params.set<std::vector<OutputName>>("outputs") = {"none"};
Expand All @@ -524,10 +523,9 @@ void
PrecursorAction::setVarNameAndBlock(InputParameters & params, const std::string & var_name)
{
params.set<NonlinearVariableName>("variable") = var_name;
if (isParamValid("kernel_block"))
params.set<std::vector<SubdomainName>>("block") =
getParam<std::vector<SubdomainName>>("kernel_block");
else if (isParamValid("block"))
params.set<std::vector<SubdomainName>>("block") =
getParam<std::vector<SubdomainName>>("block");
if (isParamValid("kernel_block"))
params.set<std::vector<SubdomainName>>("block") =
getParam<std::vector<SubdomainName>>("kernel_block");
else if (isParamValid("block"))
params.set<std::vector<SubdomainName>>("block") = getParam<std::vector<SubdomainName>>("block");
}

0 comments on commit b104f01

Please sign in to comment.