The ArbitraryCurve() function allows you to generate a curve from an arbitrary mathematical expression of node-voltage and branch-current waveforms. Additionally, the arbitrary mathematical expression can include built-in vector functions, which are all described in Function Reference.
The syntax of the ArbitraryCurve() function has the following syntax with the arguments explained in the table below:
ArbitraryCurve(vector_expression, vectors_to_keep, curve_name, graph_name, grid_index, axis_name, OPTIONAL_PARAMETER_STRING)
Argument | Description |
vector_expression | A mathematical expression of node-voltage and branch-current waveforms. This expression can include built-in vector functions. |
vectors_to_keep | A space-delimited list of vectors from the vector expression that the program produces in the .PRINT statements for each vector during SIMPLIS simulations and in the .KEEP statements during SIMetrix simulations. This ensures that the vectors supplied in vector expressions are available for plotting after the simulation is complete. |
curve_name | Name of the
curve as it appears in the report. Note: For your curve to
appear in the report, you must prefix the curve name with "DVM".
|
graph_name | Name of the graph for the new test report* |
grid_index | Grid on which to place the curve* |
axis_name | Axis on a particular grid* |
OPTIONAL_PARAMETER_STRING | A space-separated set of KEY=VALUE pairs that defines additional formatting 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.
To plot the AC-coupled output voltage for a converter, follow these steps:
To set up the testplan to generate a curve during a steady-state test objective that runs a POP simulation, follow these steps:
*** | ||||
---|---|---|---|---|
*** modified testplan for arbitrarycurve DVM tutorial section 6.6.1 | ||||
*** | ||||
*?@ Analysis | Objective | Source | Load | Label |
*** | ||||
Steady-State | Steady-State | SOURCE(INPUT:1, Maximum) | LOAD(OUTPUT:1, 100%) | Steady-State|Steady-State|Vin Maximum|100% Load |
ArbitraryCurve(#VOUT-mean(#VOUT), #VOUT, DVM VOUT-AC, default, A4, VOUT-AC)
Argument | Value / Notes |
vector_expression |
#VOUT - Mean(#VOUT)
This is the mathematical expression for the AC coupled output voltage that uses the Mean() vector function to return the average value of the supplied vector over the entire simulation time. |
vectors_to_keep | #VOUT |
curve_name | DVM VOUT-AC |
graph_name | default |
axis_name | VOUT-AC: (or any other name you prefer) |
*** | |||||
---|---|---|---|---|---|
*** final testplan for arbitrarycurve DVM tutorial section 6.6.1 | |||||
*** | |||||
*?@ Analysis | Objective | Create | Source | Load | Label |
*** | |||||
Steady-State | Steady-State | ArbitraryCurve(#VOUT-mean(#VOUT), #VOUT, DVM VOUT-AC, default, A4, VOUT-AC ) | SOURCE(INPUT:1, Maximum) | LOAD(OUTPUT:1, 100%) | Steady-State|Steady-State|Vin Maximum|100% Load |
To run the testplan from the schematic, follow these steps:
Navigate to the testplans directory where you extracted SIMPLIS_dvm_tutorial_examples.zip , and select 6.6.1_arbitrary_curve_final.testplan.
This is one example of the ArbitraryCurve() function. Another version of the function generates X-Y plots. The testplan syntax documentation includes an example where the forward current and forward voltage of a diode are plotted against each other. For more information, see ArbitraryCurve() in the DVM testplan documentation.