/* Function: mdlOutputs =======================================================
 *
*/
static void mdlOutputs(SimStruct *S, int_T tid)
{
    const real_T   *phi  = (const real_T*) ssGetInputPortSignal(S,0);
    const real_T   *phiInj  = (const real_T*) ssGetInputPortSignal(S,1);
    const real_T   *uGov  = (const real_T*) ssGetInputPortSignal(S,2);
    const real_T   *omega  = (const real_T*) ssGetInputPortSignal(S,3);
    const real_T   *p  = (const real_T*) ssGetInputPortSignal(S,4);
    const real_T   *temp  = (const real_T*) ssGetInputPortSignal(S,5);
    real_T        *combStateO  = (real_T *)ssGetOutputPortRealSignal(S,0);
    real_T        *phiComb  = (real_T *)ssGetOutputPortRealSignal(S,1);
    real_T        *phiIgO  = (real_T *)ssGetOutputPortRealSignal(S,2);
    real_T        *mqfO  = (real_T *)ssGetOutputPortRealSignal(S,3);
    const int_T   p_width0  = mxGetNumberOfElements(PARAM_DEF0(S));
    const int_T   p_width1  = mxGetNumberOfElements(PARAM_DEF1(S));
    const int_T   p_width2  = mxGetNumberOfElements(PARAM_DEF2(S));
    const real_T  *mqfCycMax  = (const real_T *)mxGetData(PARAM_DEF0(S));
    const real_T  *wiebePara  = (const real_T *)mxGetData(PARAM_DEF1(S));
    const real_T  *nStroke  = (const real_T *)mxGetData(PARAM_DEF2(S));
    const real_T *combState = (const real_T*) ssGetDWork(S,0);
    const real_T *phiIg = (const real_T*) ssGetDWork(S,1);
    const real_T *mqf = (const real_T*) ssGetDWork(S,2);
    
    combState_Outputs_wrapper(phi, phiInj, uGov, omega, temp, p, combState, 
            phiIg, mqf, combStateO, phiComb, phiIgO, mqfO, mqfCycMax, 
            p_width0, wiebePara, p_width1, nStroke, p_width2);
}
/* Function: mdlOutputs =======================================================
 *
*/
static void mdlOutputs(SimStruct *S, int_T tid)
{
    const real_T   *phi  = (const real_T*) ssGetInputPortSignal(S,0);
    const real_T   *cAStartNom  = (const real_T*) ssGetInputPortSignal(S,1);
    const real_T   *dCALiftNom  = (const real_T*) ssGetInputPortSignal(S,2);
    real_T        *lift  = (real_T *)ssGetOutputPortRealSignal(S,0);
    const int_T   p_width0  = mxGetNumberOfElements(PARAM_DEF0(S));
    const int_T   p_width1  = mxGetNumberOfElements(PARAM_DEF1(S));
    const int_T   p_width2  = mxGetNumberOfElements(PARAM_DEF2(S));
    const int_T   p_width3  = mxGetNumberOfElements(PARAM_DEF3(S));
    const int_T   p_width4  = mxGetNumberOfElements(PARAM_DEF4(S));
    const int_T   p_width5  = mxGetNumberOfElements(PARAM_DEF5(S));
    const int_T   p_width6  = mxGetNumberOfElements(PARAM_DEF6(S));
    const int_T   p_width7  = mxGetNumberOfElements(PARAM_DEF7(S));
    const int_T   p_width8  = mxGetNumberOfElements(PARAM_DEF8(S));
    const real_T  *liftMax  = (const real_T *)mxGetData(PARAM_DEF0(S));
    const real_T  *cAStartRef  = (const real_T *)mxGetData(PARAM_DEF1(S));
    const real_T  *dCALiftUp  = (const real_T *)mxGetData(PARAM_DEF2(S));
    const real_T  *dCALiftDown  = (const real_T *)mxGetData(PARAM_DEF3(S));
    const real_T  *dCALiftTopRef  = (const real_T *)mxGetData(PARAM_DEF4(S));
    const real_T  *cAVVUpRef  = (const real_T *)mxGetData(PARAM_DEF5(S));
    const real_T  *cAVVDownRef  = (const real_T *)mxGetData(PARAM_DEF6(S));
    const real_T  *liftUpRef  = (const real_T *)mxGetData(PARAM_DEF7(S));
    const real_T  *liftDownRef  = (const real_T *)mxGetData(PARAM_DEF8(S));

    GetExhVVLift_Outputs_wrapper(phi, cAStartNom, dCALiftNom, lift, liftMax, p_width0, cAStartRef, p_width1, dCALiftUp, p_width2, dCALiftDown, p_width3, dCALiftTopRef, p_width4, cAVVUpRef, p_width5, cAVVDownRef, p_width6, liftUpRef, p_width7, liftDownRef, p_width8);
}
/* Function: mdlOutputs =======================================================
 *
*/
static void mdlOutputs(SimStruct *S, int_T tid)
{
    const real_T   *u0  = (const real_T*) ssGetInputPortSignal(S,0);
    const int_T   p_width0  = mxGetNumberOfElements(PARAM_DEF0(S));
    const int_T   p_width1  = mxGetNumberOfElements(PARAM_DEF1(S));
    const int_T   p_width2  = mxGetNumberOfElements(PARAM_DEF2(S));
    const int32_T  *baud  = (const int32_T *)mxGetData(PARAM_DEF0(S));
    const int32_T  *uart  = (const int32_T *)mxGetData(PARAM_DEF1(S));
    const real_T  *SampleTime  = (const real_T *)mxGetData(PARAM_DEF2(S));

}
/* Function: mdlOutputs =======================================================
 *
*/
static void mdlOutputs(SimStruct *S, int_T tid)
{
    uint8_T        *y0  = (uint8_T *)ssGetOutputPortRealSignal(S,0);
    const int_T   p_width0  = mxGetNumberOfElements(PARAM_DEF0(S));
    const int_T   p_width1  = mxGetNumberOfElements(PARAM_DEF1(S));
    const int_T   p_width2  = mxGetNumberOfElements(PARAM_DEF2(S));
    const real_T  *baud  = (const real_T *)mxGetData(PARAM_DEF0(S));
    const real_T  *uart  = (const real_T *)mxGetData(PARAM_DEF1(S));
    const real_T  *SampleTime  = (const real_T *)mxGetData(PARAM_DEF2(S));

    y0[0] = 0;
}
/* Function: mdlOutputs =======================================================
 *
*/
static void mdlOutputs(SimStruct *S, int_T tid)
{
    const real_T   *pCyl  = (const real_T*) ssGetInputPortSignal(S,0);
    const real_T   *tempCyl  = (const real_T*) ssGetInputPortSignal(S,1);
    const real_T   *vCyl  = (const real_T*) ssGetInputPortSignal(S,2);
    const real_T   *omega  = (const real_T*) ssGetInputPortSignal(S,3);
    const real_T   *tempWall = (const real_T*) ssGetInputPortSignal(S,4);
    real_T        *dQ  = (real_T *)ssGetOutputPortRealSignal(S,0);
    const int_T   p_width0  = mxGetNumberOfElements(PARAM_DEF0(S));
    const int_T   p_width1  = mxGetNumberOfElements(PARAM_DEF1(S));
    const int_T   p_width2  = mxGetNumberOfElements(PARAM_DEF2(S));
    const int_T   p_width3  = mxGetNumberOfElements(PARAM_DEF3(S));
    const real_T  *stroke  = (const real_T *)mxGetData(PARAM_DEF0(S));
    const real_T  *B  = (const real_T *)mxGetData(PARAM_DEF1(S));
    const real_T  *cAlpha  = (const real_T *)mxGetData(PARAM_DEF2(S));
    const real_T  *nCyl  = (const real_T *)mxGetData(PARAM_DEF3(S));

    EngCylHeatTransfer_Outputs_wrapper(pCyl, tempCyl, vCyl, omega, tempWall, dQ, stroke, p_width0, B, p_width1, cAlpha, p_width2, nCyl, p_width3);
}
Exemple #6
0
static void mdlInitializeSizes(SimStruct *S)
{
    const real_T  *P1  = mxGetData(PARAM_DEF3(S));
    const real_T  *P2  = mxGetData(PARAM_DEF2(S));
    DECL_AND_INIT_DIMSINFO(outputDimsInfo);
    ssSetNumSFcnParams(S, NPARAMS);  /* Number of expected parameters */
      #if defined(MATLAB_MEX_FILE)
	if (ssGetNumSFcnParams(S) == ssGetSFcnParamsCount(S)) {
	  if (ssGetErrorStatus(S) != NULL) {
	    return;
	  }
	 } else {
	   return; /* Parameter mismatch will be reported by Simulink */
	 }
      #endif

    ssSetNumContStates(S, NUM_CONT_STATES);
    ssSetNumDiscStates(S, NUM_DISC_STATES);

    if (!ssSetNumInputPorts(S, NUM_INPUTS)) return;

    if (!ssSetNumOutputPorts(S, NUM_OUTPUTS)) return;
    /* Output Port 0 */
    outputDimsInfo.width = *P1;         
    ssSetOutputPortDimensionInfo(S, 0, &outputDimsInfo);
    ssSetOutputPortMatrixDimensions( S ,0, *P1, *P2);
    ssSetOutputPortFrameData(S, 0, OUT_0_FRAME_BASED);
    ssSetOutputPortDataType(S, 0, SS_UINT8);
    ssSetOutputPortComplexSignal(S, 0, OUTPUT_0_COMPLEX);
    /* Output Port 1 */
    outputDimsInfo.width = *P1;
    ssSetOutputPortDimensionInfo(S, 1, &outputDimsInfo);
    ssSetOutputPortMatrixDimensions( S ,1, *P1, *P2);
    ssSetOutputPortFrameData(S, 1, OUT_1_FRAME_BASED);
    ssSetOutputPortDataType(S, 1, SS_UINT8);
    ssSetOutputPortComplexSignal(S, 1, OUTPUT_1_COMPLEX);
    /* Output Port 2 */
    outputDimsInfo.width = *P1;
    ssSetOutputPortDimensionInfo(S, 2, &outputDimsInfo);
    ssSetOutputPortMatrixDimensions( S ,2, *P1, *P2);
    ssSetOutputPortFrameData(S, 2, OUT_2_FRAME_BASED);
    ssSetOutputPortDataType(S, 2, SS_UINT8);
    ssSetOutputPortComplexSignal(S, 2, OUTPUT_2_COMPLEX);

    ssSetNumSampleTimes(S, 1);
    ssSetNumRWork(S, 0);
    ssSetNumIWork(S, 0);
    ssSetNumPWork(S, 0);
    ssSetNumModes(S, 0);
    ssSetNumNonsampledZCs(S, 0);

    /* Take care when specifying exception free code - see sfuntmpl_doc.c */
    ssSetOptions(S, (SS_OPTION_EXCEPTION_FREE_CODE |
		     SS_OPTION_WORKS_WITH_CODE_REUSE));
}
Exemple #7
0
/* Function: mdlOutputs =======================================================
 *
*/
static void mdlOutputs(SimStruct *S, int_T tid)
{
    const uint32_T   *in0  = (const uint32_T*) ssGetInputPortSignal(S,0);
    const uint32_T   *in1  = (const uint32_T*) ssGetInputPortSignal(S,1);
    const uint32_T   *in2  = (const uint32_T*) ssGetInputPortSignal(S,2);
    const uint32_T   *in3  = (const uint32_T*) ssGetInputPortSignal(S,3);
    uint32_T        *adder_out  = (uint32_T *)ssGetOutputPortRealSignal(S,0);
    uint32_T        *DBG_in01  = (uint32_T *)ssGetOutputPortRealSignal(S,1);
    uint32_T        *DBG_in012  = (uint32_T *)ssGetOutputPortRealSignal(S,2);
    const int_T   p_width0  = mxGetNumberOfElements(PARAM_DEF0(S));
    const int_T   p_width1  = mxGetNumberOfElements(PARAM_DEF1(S));
    const int_T   p_width2  = mxGetNumberOfElements(PARAM_DEF2(S));
    const int_T   p_width3  = mxGetNumberOfElements(PARAM_DEF3(S));
    const uint32_T  *in_bitwidth  = (const uint32_T *)mxGetData(PARAM_DEF0(S));
    const uint32_T  *in_fp_position  = (const uint32_T *)mxGetData(PARAM_DEF1(S));
    const uint32_T  *out_bitwidth  = (const uint32_T *)mxGetData(PARAM_DEF2(S));
    const uint32_T  *out_fp_position  = (const uint32_T *)mxGetData(PARAM_DEF3(S));

    SDFPAdder4_Outputs_wrapper(in0, in1, in2, in3, adder_out, DBG_in01, DBG_in012, in_bitwidth, p_width0, in_fp_position, p_width1, out_bitwidth, p_width2, out_fp_position, p_width3);
}
/* Function: mdlUpdate ======================================================
   * Abstract:
   *    This function is called once for every major integration time step.
   *    Discrete states are typically updated here, but this function is useful
   *    for performing any tasks that should only take place once per
   *    integration step.
   */
static void mdlUpdate(SimStruct *S, int_T tid)
{
    const real_T *FComb = (const real_T*) ssGetInputPortSignal(S,7);
    const real_T *phi = (const real_T*) ssGetInputPortSignal(S,8);
    const real_T *combState = (const real_T*) ssGetInputPortSignal(S,9);
    real_T        *p = (real_T *)ssGetOutputPortRealSignal(S,0);
    real_T        *Tu = (real_T *)ssGetOutputPortRealSignal(S,1);
    real_T        *Fu = (real_T *)ssGetOutputPortRealSignal(S,2);
    real_T        *Vu = (real_T *)ssGetOutputPortRealSignal(S,3);
    real_T        *Tb = (real_T *)ssGetOutputPortRealSignal(S,4);
    real_T        *Fb = (real_T *)ssGetOutputPortRealSignal(S,5);
    real_T        *Vb = (real_T *)ssGetOutputPortRealSignal(S,6);
    const real_T *xC = ssGetContStates(S);
    real_T *p_prev = (real_T*) ssGetDWork(S,0);      
    real_T *Tu_prev = (real_T*) ssGetDWork(S,1);
    real_T *Fu_prev = (real_T*) ssGetDWork(S,2);
    real_T *Ru_prev = (real_T*) ssGetDWork(S,3);
    real_T *uu_prev = (real_T*) ssGetDWork(S,4);    
	real_T *Cvu_prev = (real_T*) ssGetDWork(S,5);    
    real_T *Tb_prev = (real_T*) ssGetDWork(S,6);
    real_T *Fb_prev = (real_T*) ssGetDWork(S,7);
    real_T *Rb_prev = (real_T*) ssGetDWork(S,8);
    real_T *ub_prev = (real_T*) ssGetDWork(S,9);    
	real_T *Cvb_prev = (real_T*) ssGetDWork(S,10);  
    real_T *mCyl_prev = (real_T*) ssGetDWork(S,11);
    real_T *mbCyl_prev = (real_T*) ssGetDWork(S,12);
    real_T *VCyl_prev = (real_T*) ssGetDWork(S,13);
    real_T *mu_prev = (real_T*) ssGetDWork(S,14);
    real_T *mub_prev = (real_T*) ssGetDWork(S,15);
    real_T *Vu_prev = (real_T*) ssGetDWork(S,16);
    real_T *QCyl_prev = (real_T*) ssGetDWork(S,17);
    real_T *HCyl_prev = (real_T*) ssGetDWork(S,18);        
    real_T *WCyl_prev = (real_T*) ssGetDWork(S,19);        
    real_T *mfb_prev = (real_T*) ssGetDWork(S,20);
    real_T *mMix_prev = (real_T*) ssGetDWork(S,21);
    real_T *mb0 = (real_T*) ssGetDWork(S,22);
    real_T *ResetMix = (real_T*) ssGetDWork(S,23);
    
    const int_T   p_width0  = mxGetNumberOfElements(PARAM_DEF0(S));
    const int_T   p_width1  = mxGetNumberOfElements(PARAM_DEF1(S));
    const int_T   p_width2  = mxGetNumberOfElements(PARAM_DEF2(S));
    const int_T   p_width3  = mxGetNumberOfElements(PARAM_DEF3(S));
	const int_T   p_width4 = mxGetNumberOfElements(PARAM_DEF4(S));
    const int_T   p_width9  = mxGetNumberOfElements(PARAM_DEF9(S));

    const real_T  *fs  = (const real_T *)mxGetData(PARAM_DEF0(S));
    const real_T  *DPhiMix  = (const real_T *)mxGetData(PARAM_DEF1(S));
    const real_T  *phiMix0  = (const real_T *)mxGetData(PARAM_DEF2(S));
    const real_T  *alpha  = (const real_T *)mxGetData(PARAM_DEF3(S));
	const real_T  *hn = (const real_T *)mxGetData(PARAM_DEF4(S));
    const real_T  *nStroke  = (const real_T *)mxGetData(PARAM_DEF9(S));

    ThdynCVNV2Zone_Update_wrapper(phi,FComb,combState,p,Tu,Fu,Vu,Tb,Fb,Vb,
            xC,p_prev,Tu_prev,Fu_prev,Ru_prev,uu_prev,Cvu_prev,
            Tb_prev,Fb_prev,Rb_prev,ub_prev,Cvb_prev,
            mCyl_prev,mbCyl_prev,VCyl_prev,QCyl_prev,HCyl_prev,WCyl_prev,
            mu_prev,mub_prev,Vu_prev,mfb_prev,
            mMix_prev,mb0,ResetMix,
            fs,p_width0,DPhiMix,p_width1,phiMix0,p_width2,
            alpha,p_width3,hn,p_width4,nStroke,p_width9);
}