The Vary command contains the following code in its Execute() method:
The first time the command fires, the initial value for the variable is set using this code:
// First time through, tell the solver about the variables
Real varData, asf, msf;
asf = additiveScaleFactor->EvaluateReal();
msf = 1.0 / multiplicativeScaleFactor->EvaluateReal();
varData = initialValue->EvaluateReal(); // Initial value
// scale by using Eq. 13.5 of Architecture document
varData = (varData + asf) / msf;
variableID = solver->SetSolverVariables(varData, variableName);
All calls then use this code:
Real var = solver->GetSolverVariable(variableID);
// scale using Eq. 13.6 of Architecture document
var = var / multiplicativeScaleFactor->EvaluateReal() -
This is applied regardless of the Solver. It is a feature of the Vary command.
Why was this issue reopened?