PointwiseCalc: Boolean;
The Active property determines whether pointwise problem calculation is used.
Pointwise calculation is executed only for problems of the Multithreaded Transformation Problem type, which contain models of the Determinate Equation type.
When a problem is calculated using pointwise calculation, model equation is calculated consecutively in each data point: first, the equation is calculated by the first data point, then by the second one, and so on. This calculation method can be used if current calendar point data depends on the data calculated by the previous calendar point. If a problem contains matrix aggregation models, aggregation cannot be calculated for one calendar point during pointwise problem calculation. Matrix aggregation models can be calculated only before or after pointwise calculation, or their calculation can be optional. To determine a method for calculation of matrix aggregation models, use the IMsProblemPointwiseSettings.NonPointwiseCalcMode property.
For details about pointwise calculation, see the Determinate Equation section. Pointwise problem calculation is similar to pointwise algorithm calculation.
Available values:
True. Pointwise problem calculation is used.
False. Default. Series problem calculation is used.
Executing the example requires that the repository contains a modeling container with the CONT_MODEL identifier containing a modeling problem of the Multithreaded Transformation Problem type with the PROBLEM identifier. The modeling problem should contain a metamodel, which calculation chain contains models of the Determinate Equation type and matrix aggregation models.
Add links to the Metabase, Ms system assemblies.
Sub UserProc;
Var
MB: IMetabase;
RubrDescr, Descr: IMetabaseObjectDescriptor;
Problem: IMsProblem;
Settings: IMsProblemCalculationSettings;
Calc: IMsProblemCalculation;
Pointwise: IMsProblemPointwiseSettings;
Begin
MB := MetabaseClass.Active;
// Get modeling container
RubrDescr := MB.ItemById("CONT_MODEL");
Descr := RubrDescr.EditDescriptor;
// Get modeling problem of the Multithreaded Transformation Problem type
Problem := MB.ItemByIdNamespace("PROBLEM", Descr.Key).Edit As IMsProblem;
// Determine settings for multithreaded problem calculation
Pointwise := Problem.PointwiseSettings;
Pointwise.Active := True;
Pointwise.NonPointwiseCalcMode := MsNonPointwiseCalcMode.CalcAfter;
// Save changes
(Problem As IMetabaseObject).Save;
// Calculate modeling problem
Settings := Problem.CreateCalculationSettings;
Calc := Problem.Calculate(Settings);
Calc.Run;
End Sub UserProc;
After executing the example the pointwise problem calculation is executed. If the problem contains matrix aggregation models, they will be calculated after pointwise calculation of determinate equations.
See also: