C_GetPanelPressureTimeHistory

Call C_GetPanelPressureTimeHistory to calculate time domain panel pressure results for an OrcaFlex vessel.

void C_GetPanelPressureTimeHistory(

TOrcFxAPIHandle VesselHandle,

TOrcFxAPIHandle DiffractionHandle,

int ResultPanelsCount,

const int *lpResultPanels,

const TPeriod *lpPeriod,

const TPanelPressureParameters *lpParameters,

double *lpOutput,

int *lpStatus

);

Parameters

VesselHandle (IN)

The handle of the vessel for which you want panel pressure results. The vessel must belong to a time domain OrcaFlex model. The OrcaFlex simulation must be complete – you can call C_RunSimulation2 to perform the simulation or call C_LoadSimulation to open an existing results file.

DiffractionHandle (IN)

The handle of an OrcaWave model model that includes the same vessel. DiffractionHandle can be obtained using C_CreateDiffraction. The OrcaWave calculation must be complete – you can call C_CalculateDiffraction to perform the calculation or call C_LoadDiffractionResults to open an existing results file. The model must include the output option for intermediate results.

ResultPanelsCount (IN)

The number of panels for which pressure is to be calculated – i.e. the size of the lpResultPanels array.

lpResultPanels (IN)

Points to an array of 0-based panel indices, of length ResultPanelsCount, specifying the panels for which pressure time history is to be calculated:

lpPeriod (IN)

Points to a TPeriod variable that specifies the period of the simulation over which results are to be calculated.

lpParameters (IN)

Points to a TPanelPressureParameters structure that specifies the components of water pressure to be included in the panel pressure calculation.

If you include the diffraction component of panel pressure, the following requirement applies:

If you include the radiation component of panel pressure, the following requirements apply:

Tip: Calculating the radiation component is particularly expensive. Use C_SetModelThreadCount to set the number of processing threads, in order to calculate pressure results in parallel for different panels. Use C_SetProgressHandler to set up a handler for progress notifications.

lpOutput (OUT)

Points to the output buffer, which is allocated by the caller. This is a two dimensional array with dimensions N, ResultPanelsCount. The array is in row-major order and N is the number of samples for this period. N can be obtained by calling C_GetNumOfSamples.

lpStatus (OUT)

Points to a variable in which the status result for the function call will be returned.

See also

C_RunSimulation2, C_LoadSimulation, C_CreateDiffraction, C_CalculateDiffraction, C_LoadDiffractionResults, C_GetDiffractionOutput, C_SetModelThreadCount, C_SetProgressHandler, C_GetNumOfSamples.