IMsProblemPointwiseSettings.Active

Syntax

PointwiseCalc: Boolean;

Description

The Active property determines whether pointwise problem calculation is used.

Comments

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:

Example

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:

IMsProblemPointwiseSettings