In 5.1 Running the Built-in Efficiency Testplan, you simulated the efficiency of the converter using the built-in efficiency testplan. The last graph produced in that section plotted three efficiency curves based on scalar data aggregated from the previous tests. Three CreateXYScalarPlot() functions were used to generate those curves. A copy of the efficiency testplan is available from SIMPLIS_dvm_tutorial_examples.zip at this path:
testplans/dvm_builtin-efficiency_dcdc_1in_1out.testplan
CreateXYScalarPlot(x-expression, y-expression, scalars to extract, curve_name, graph_name, grid_index, axis_name, OPTIONAL_PARAMETER_STRING)
Arg # | Argument Name | Description |
1 | x-expression | The expression of scalars to be plotted on the x-axis |
2 | y-expression | The expression of scalars to be plotted on the y-axis |
3 | scalars_to_extract | A space delimited list of scalars to extract from the previous reports. |
4 | curve_name | Name for the curve being generated |
5 | graph_name | Name of the graph for the new test report* |
6 | grid_index | Grid on which to place the curve* |
7 | axis_name | Axis on a particular grid* |
8 | OPTIONAL_PARAMETER_STRING | A space-separated set of KEY=VALUE pairs that define additional parameters** |
* For additional information about graph_name, grid_index, and axis_name, see Graph Address System.
** For additional information about OPTIONAL_PARAMETER_STRING, see Optional Parameters.
In the simplest case, the scalar expressions x-expression and y-expression can be any scalars from the test reports. In more complex applications, the expressions can be any mathematical expression of scalar values, such as values set with the Var(), GlobalVar(), and Change() testplan entries.
The built-in efficiency testplan uses the following arguments in the CreateXYScalarPlot() function that plotted the efficiency vs. load current:
Argument | Value / Notes |
x-expression | AVG(ILOAD) |
y-expression |
Efficiency_Nom
The y-expression function arguments used a scalar alias created with the Alias() function as explained in 6.6.1 Creating Scalar Aliases. |
scalars_to_extract |
AVG(ILOAD) Efficiency_Nom
This argument is the list of scalars to extract from the previous reports and is composed of a space-delimited list of scalar values used in the x-expression and y-expression. |
curve_name |
DVM Vin Nom
The curve_ name for the nominal input voltage cases should be prefixed with DVM in order for DVM to retain the curve on the overview and test report graphs. |
graph_name | DVM Efficiency |
grid_index | A1 |
axis_name |
vert
Since this does note multiple axes, the axis name is not important. |
OPTIONAL_PARAMETER_STRING |
xlabel=Load Current xunits=A ylabel=Efficiency yunits=%%% showpoints=true
color=red
This argument is almost always used with the CreateXYScalarPlot() function to annotate labels, units, and major grid spacing. The full range of options is described in the CreateXYScalarPlot() in the DVM documentation. |
The complete CreateXYScalarPlot() function for the nominal input voltage in the built-in efficiency testplan is as follows:
CreateXYScalarPlot( AVG(ILOAD), Efficiency_Nom, AVG(ILOAD) Efficiency_Nom, DVM Vin Nom, DVM Efficiency, A1, vert, xlabel=Load Current xunits=A ylabel=Efficiency yunits=%%% showpoints=true color=red)
To build the other two functions for the minimum and maximum input voltages, follow these steps:
The final three functions are shown below.
CreateXYScalarPlot( AVG(ILOAD), Efficiency_Nom, AVG(ILOAD) Efficiency_Nom, DVM Vin Nom, DVM Efficiency, A1, vert, xlabel=Load Current xunits=A ylabel=Efficiency yunits=%%% showpoints=true color=red) |
CreateXYScalarPlot( AVG(ILOAD), Efficiency_Min, AVG(ILOAD) Efficiency_Min, Min, DVM Efficiency, A1, vert, xlabel=Load Current xunits=A ylabel=Efficiency yunits=%%% showpoints=true color=green ) |
CreateXYScalarPlot( AVG(ILOAD), Efficiency_ Max , AVG(ILOAD) Efficiency_ Max , DVM Vin Max , DVM Efficiency, A1, vert, xlabel=Load Current xunits=A ylabel=Efficiency yunits=%%% showpoints=true color= blue ) |
After these three CreateXYScalarPlot() functions are entered in three new Create columns, you have the following built-in testplan that was used in 5.1 Running the Built-In Efficiency Testplan.
*** | ||||||||
---|---|---|---|---|---|---|---|---|
*** efficiency_dcdc_1in_1out.testplan | ||||||||
*** | ||||||||
*?@ Analysis | Objective | Source | Load | Label | Create | Create | Create | Promote |
*** | ||||||||
*** | ||||||||
*** | ||||||||
*** | ||||||||
*** | ||||||||
Steady-State | Steady-State | Source(INPUT:1, Nominal) | Load(OUTPUT:1, Light) | Steady-State|Steady-State|Vin Nominal|Light Load | Alias( Efficiency, Efficiency_nom) | |||
Steady-State | Steady-State | Source(INPUT:1, Nominal) | Load(OUTPUT:1, 10%) | Steady-State|Steady-State|Vin Nominal|10% | Alias( Efficiency, Efficiency_nom) | |||
Steady-State | Steady-State | Source(INPUT:1, Nominal) | Load(OUTPUT:1, 20%) | Steady-State|Steady-State|Vin Nominal|20% | Alias( Efficiency, Efficiency_nom) | |||
Steady-State | Steady-State | Source(INPUT:1, Nominal) | Load(OUTPUT:1, 30%) | Steady-State|Steady-State|Vin Nominal|30% | Alias( Efficiency, Efficiency_nom) | |||
Steady-State | Steady-State | Source(INPUT:1, Nominal) | Load(OUTPUT:1, 40%) | Steady-State|Steady-State|Vin Nominal|40% | Alias( Efficiency, Efficiency_nom) | |||
Steady-State | Steady-State | Source(INPUT:1, Nominal) | Load(OUTPUT:1, 50%) | Steady-State|Steady-State|Vin Nominal|50% | Alias( Efficiency, Efficiency_nom) | |||
Steady-State | Steady-State | Source(INPUT:1, Nominal) | Load(OUTPUT:1, 60%) | Steady-State|Steady-State|Vin Nominal|60% | Alias( Efficiency, Efficiency_nom) | |||
Steady-State | Steady-State | Source(INPUT:1, Nominal) | Load(OUTPUT:1, 70%) | Steady-State|Steady-State|Vin Nominal|70% | Alias( Efficiency, Efficiency_nom) | |||
Steady-State | Steady-State | Source(INPUT:1, Nominal) | Load(OUTPUT:1, 80%) | Steady-State|Steady-State|Vin Nominal|80% | Alias( Efficiency, Efficiency_nom) | |||
Steady-State | Steady-State | Source(INPUT:1, Nominal) | Load(OUTPUT:1, 90%) | Steady-State|Steady-State|Vin Nominal|90% | Alias( Efficiency, Efficiency_nom) | |||
Steady-State | Steady-State | Source(INPUT:1, Nominal) | Load(OUTPUT:1, 100%) | Steady-State|Steady-State|Vin Nominal|100% | Alias( Efficiency, Efficiency_nom) | |||
Steady-State | Steady-State | Source(INPUT:1, Maximum) | Load(OUTPUT:1, Light) | Steady-State|Steady-State|Vin Maximum|Light Load | Alias( Efficiency, Efficiency_Max) | |||
Steady-State | Steady-State | Source(INPUT:1, Maximum) | Load(OUTPUT:1, 10%) | Steady-State|Steady-State|Vin Maximum|10% | Alias( Efficiency, Efficiency_Max) | |||
Steady-State | Steady-State | Source(INPUT:1, Maximum) | Load(OUTPUT:1, 20%) | Steady-State|Steady-State|Vin Maximum|20% | Alias( Efficiency, Efficiency_Max) | |||
Steady-State | Steady-State | Source(INPUT:1, Maximum) | Load(OUTPUT:1, 30%) | Steady-State|Steady-State|Vin Maximum|30% | Alias( Efficiency, Efficiency_Max) | |||
Steady-State | Steady-State | Source(INPUT:1, Maximum) | Load(OUTPUT:1, 40%) | Steady-State|Steady-State|Vin Maximum|40% | Alias( Efficiency, Efficiency_Max) | |||
Steady-State | Steady-State | Source(INPUT:1, Maximum) | Load(OUTPUT:1, 50%) | Steady-State|Steady-State|Vin Maximum|50% | Alias( Efficiency, Efficiency_Max) | |||
Steady-State | Steady-State | Source(INPUT:1, Maximum) | Load(OUTPUT:1, 60%) | Steady-State|Steady-State|Vin Maximum|60% | Alias( Efficiency, Efficiency_Max) | |||
Steady-State | Steady-State | Source(INPUT:1, Maximum) | Load(OUTPUT:1, 70%) | Steady-State|Steady-State|Vin Maximum|70% | Alias( Efficiency, Efficiency_Max) | |||
Steady-State | Steady-State | Source(INPUT:1, Maximum) | Load(OUTPUT:1, 80%) | Steady-State|Steady-State|Vin Maximum|80% | Alias( Efficiency, Efficiency_Max) | |||
Steady-State | Steady-State | Source(INPUT:1, Maximum) | Load(OUTPUT:1, 90%) | Steady-State|Steady-State|Vin Maximum|90% | Alias( Efficiency, Efficiency_Max) | |||
Steady-State | Steady-State | Source(INPUT:1, Maximum) | Load(OUTPUT:1, 100%) | Steady-State|Steady-State|Vin Maximum|100% | Alias( Efficiency, Efficiency_Max) | |||
Steady-State | Steady-State | Source(INPUT:1, Minimum) | Load(OUTPUT:1, Light) | Steady-State|Steady-State|Vin Minimum|Light Load | Alias( Efficiency, Efficiency_Min) | |||
Steady-State | Steady-State | Source(INPUT:1, Minimum) | Load(OUTPUT:1, 10%) | Steady-State|Steady-State|Vin Minimum|10% | Alias( Efficiency, Efficiency_Min) | |||
Steady-State | Steady-State | Source(INPUT:1, Minimum) | Load(OUTPUT:1, 20%) | Steady-State|Steady-State|Vin Minimum|20% | Alias( Efficiency, Efficiency_Min) | |||
Steady-State | Steady-State | Source(INPUT:1, Minimum) | Load(OUTPUT:1, 30%) | Steady-State|Steady-State|Vin Minimum|30% | Alias( Efficiency, Efficiency_Min) | |||
Steady-State | Steady-State | Source(INPUT:1, Minimum) | Load(OUTPUT:1, 40%) | Steady-State|Steady-State|Vin Minimum|40% | Alias( Efficiency, Efficiency_Min) | |||
Steady-State | Steady-State | Source(INPUT:1, Minimum) | Load(OUTPUT:1, 50%) | Steady-State|Steady-State|Vin Minimum|50% | Alias( Efficiency, Efficiency_Min) | |||
Steady-State | Steady-State | Source(INPUT:1, Minimum) | Load(OUTPUT:1, 60%) | Steady-State|Steady-State|Vin Minimum|60% | Alias( Efficiency, Efficiency_Min) | |||
Steady-State | Steady-State | Source(INPUT:1, Minimum) | Load(OUTPUT:1, 70%) | Steady-State|Steady-State|Vin Minimum|70% | Alias( Efficiency, Efficiency_Min) | |||
Steady-State | Steady-State | Source(INPUT:1, Minimum) | Load(OUTPUT:1, 80%) | Steady-State|Steady-State|Vin Minimum|80% | Alias( Efficiency, Efficiency_Min) | |||
Steady-State | Steady-State | Source(INPUT:1, Minimum) | Load(OUTPUT:1, 90%) | Steady-State|Steady-State|Vin Minimum|90% | Alias( Efficiency, Efficiency_Min) | |||
Steady-State | Steady-State | Source(INPUT:1, Minimum) | Load(OUTPUT:1, 100%) | Steady-State|Steady-State|Vin Minimum|100% | Alias( Efficiency, Efficiency_Min) | |||
NoSimulation | Steady-State|Generate Efficiency Curves | CreateXYScalarPlot(AVG(ILOAD),Efficiency_Min,AVG(ILOAD)Efficiency_Min,DVM Vin Min,DVM Efficiency,A1,vert,xlabel=Load Current xunits=A ylabel=Efficiency yunits=%%% showpoints=true color=green) | CreateXYScalarPlot( AVG(ILOAD), Efficiency_Nom,AVG(ILOAD) Efficiency_Nom,DVM Vin Nom,DVM Efficiency,A1,vert,xlabel=Load Current xunits=A ylabel=Efficiency yunits=%%% showpoints=true color=red) | CreateXYScalarPlot( AVG(ILOAD), Efficiency_Max,AVG(ILOAD) Efficiency_Max,DVM Vin Max,DVM Efficiency,A1,vert,xlabel=Load Current xunits=A ylabel=Efficiency yunits=%%% showpoints=true color=blue) | PromoteGraph(DVM Efficiency,1) |