returnValue SIMexport::checkConsistency( ) const { // consistency checks: // only time-continuous DAEs without parameter and disturbances supported! DifferentialEquation f; modelData.getModel(f); if ( f.isDiscretized( ) == true ) return ACADOERROR( RET_NO_DISCRETE_ODE_FOR_CODE_EXPORT ); if ( ( f.getNUI( ) > 0 ) || /*( f.getNP( ) > 0 ) ||*/ ( f.getNPI( ) > 0 ) || ( f.getNW( ) > 0 ) ) return ACADOERROR( RET_ONLY_STATES_AND_CONTROLS_FOR_CODE_EXPORT ); int mode; get( IMPLICIT_INTEGRATOR_MODE, mode ); if( (ImplicitIntegratorMode) mode == LIFTED ) return ACADOERROR( RET_NOT_IMPLEMENTED_YET ); return SUCCESSFUL_RETURN; }
returnValue SIMexport::checkConsistency( ) const { // Number of differential state derivatives must be either zero or equal to the number of differential states: if( !modelData.checkConsistency() ) { return ACADOERROR( RET_INVALID_OPTION ); } // consistency checks: // only time-continuous DAEs without parameter and disturbances supported! DifferentialEquation f; modelData.getModel(f); if ( f.isDiscretized( ) == BT_TRUE ) return ACADOERROR( RET_NO_DISCRETE_ODE_FOR_CODE_EXPORT ); if ( ( f.getNUI( ) > 0 ) || /*( f.getNP( ) > 0 ) ||*/ ( f.getNPI( ) > 0 ) || ( f.getNW( ) > 0 ) ) return ACADOERROR( RET_ONLY_STATES_AND_CONTROLS_FOR_CODE_EXPORT ); // only equidistant evaluation grids supported! return SUCCESSFUL_RETURN; }