Diana
0.8.3
|
00001 /* ----------------------------------------------------------------------------- 00002 * Diana process modelling, simulation and analysis software 00003 * Copyright (c) 2005, Michael Krasnyk 00004 * All rights reserved. 00005 * 00006 * This file is a part of Diana process modelling, simulation and analysis software 00007 * 00008 * Diana is free software; you can redistribute it and/or modify it 00009 * under the terms of the GNU General Public License as published 00010 * by the Free Software Foundation (see accompanying file LICENSE) 00011 * ----------------------------------------------------------------------------- 00012 * $Id: IDianaModel.hpp 9717 2013-09-03 13:16:29Z soldatov $ 00013 * ----------------------------------------------------------------------------- 00014 * Description: 00015 */ 00016 00017 #ifndef IDIANA_MODEL_HPP 00018 #define IDIANA_MODEL_HPP 00019 00020 #include <CapeOpen.hpp> 00021 #include <Diana/IDianaDAESO.hpp> 00022 #include <Diana/IDianaSensDAESO.hpp> 00023 00024 namespace Diana { 00025 00027 class IDianaContinuousModel : public Numeric::Solvers::Model::ICapeNumericContinuousModel { 00028 public: 00029 00033 virtual Diana::IDianaSensDAESO* GetSensESO() 00034 throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadInvOrder, Common::Error::ECapeNoImpl) = 0; 00035 00040 virtual Diana::IDianaContinuousModel* GetSensitivityModel(const Common::Types::CapeArrayString& _sensParNames, 00041 const Common::Types::CapeArrayString& _sensInitStateNames) 00042 throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadInvOrder, 00043 Common::Error::ECapeNoImpl) = 0; 00044 00045 00046 00051 virtual Diana::IDianaContinuousModel* GetSensitivityModelByIndex(const Common::Types::CapeArrayLong& _sensParIndices, 00052 const Common::Types::CapeArrayLong& _sensInitStateIndices) 00053 throw (Common::Error::ECapeUnknown, Common::Error::ECapeBadInvOrder, 00054 Common::Error::ECapeNoImpl) = 0; 00055 00056 }; 00057 00058 }; 00059 00060 #endif // IDIANA_MODEL_HPP 00061