src
BaseSim
-
class BaseSim
Abstract interface implemented by simulation backends.
Subclassed by sme::simulate::DuneSim, sme::simulate::PixelSimBase
Public Functions
-
virtual ~BaseSim() = default
Virtual destructor.
-
virtual std::size_t run(double time, double timeout_ms, const std::function<bool()> &stopRunningCallback) = 0
Run simulation for
timewith optional timeout/stop callback.
-
virtual const std::vector<double> &getConcentrations(std::size_t compartmentIndex) const = 0
Flattened concentrations for compartment.
-
virtual std::size_t getConcentrationPadding() const = 0
Concentration array padding.
-
virtual const std::string &errorMessage() const = 0
Current backend error message.
-
virtual void setCurrentErrormessage(const std::string &msg) = 0
Set current error message.
-
virtual bool getStopRequested() const = 0
Returns whether stop has been requested.
-
virtual void setStopRequested(bool stoprequested) = 0
Request/clear stop flag.
-
virtual ~BaseSim() = default
SmeGridFunction
-
template<typename Domain>
class SmeGridFunction Analytic grid function sampling concentration from voxel arrays.
IniFile
-
class IniFile
Simple helper for building INI text.
Public Functions
-
const QString &getText() const
Get generated INI text.
-
void addSection(const QString &str)
Add one-level section.
-
void addSection(const QString &str1, const QString &str2)
Add two-level section.
-
void addSection(const QString &str1, const QString &str2, const QString &str3)
Add three-level section.
-
void addSection(const QString &str1, const QString &str2, const QString &str3, const QString &str4)
Add four-level section.
-
void addSection(const QString &str1, const QString &str2, const QString &str3, const QString &str4, const QString &str5)
Add five-level section.
-
void addSection(const QString &str1, const QString &str2, const QString &str3, const QString &str4, const QString &str5, const QString &str6)
Add six-level section.
-
void addValue(const QString &var, const QString &value)
Add key/value pair (string value).
-
void addValue(const QString &var, int value)
Add key/value pair (integer value).
-
void addValue(const QString &var, double value, int precision)
Add key/value pair (floating value).
-
void clear()
Clear generated text.
-
const QString &getText() const
DuneSim
-
class DuneSim : public sme::simulate::BaseSim
DUNE-backed simulation backend.
Public Functions
-
explicit DuneSim(const model::Model &sbmlDoc, const std::vector<std::string> &compartmentIds, const std::map<std::string, double, std::less<>> &substitutions = {})
Construct DUNE simulator for selected compartments.
-
~DuneSim() override
Destructor.
-
virtual std::size_t run(double time, double timeout_ms, const std::function<bool()> &stopRunningCallback) override
Run simulation segment.
-
virtual const std::vector<double> &getConcentrations(std::size_t compartmentIndex) const override
Concentration array for compartment.
-
virtual std::size_t getConcentrationPadding() const override
Concentration array padding.
-
virtual const std::string &errorMessage() const override
Current error message.
-
virtual bool getStopRequested() const override
Stop-request flag.
-
virtual void setStopRequested(bool stop) override
Request/clear stop flag.
-
virtual void setCurrentErrormessage(const std::string &msg) override
Set current error message.
-
explicit DuneSim(const model::Model &sbmlDoc, const std::vector<std::string> &compartmentIds, const std::map<std::string, double, std::less<>> &substitutions = {})
DuneImpl
-
template<int DuneDimensions>
class DuneImpl DUNE solver implementation specialized by spatial dimension.
Public Functions
-
inline explicit DuneImpl(const DuneConverter &dc, const DuneOptions &options, const model::Model &sbmlDoc, const std::vector<std::string> &compartmentIds)
Construct DUNE solver state from converted model.
-
~DuneImpl() = default
Destructor.
-
inline void run(double time)
Run simulation to
timeahead and refresh concentrations.
-
inline const std::vector<double> &getConcentrations(std::size_t compartmentIndex) const
Concentrations for a compartment.
-
inline explicit DuneImpl(const DuneConverter &dc, const DuneOptions &options, const model::Model &sbmlDoc, const std::vector<std::string> &compartmentIds)
PixelSim
-
class PixelSim : public sme::simulate::PixelSimBase
Finite-difference pixel simulation backend.
Public Functions
-
explicit PixelSim(const model::Model &sbmlDoc, const std::vector<std::string> &compartmentIds, const std::vector<std::vector<std::string>> &compartmentSpeciesIds, const std::map<std::string, double, std::less<>> &substitutions = {})
Construct pixel simulator for selected compartments/species.
-
~PixelSim() override
Destructor.
-
virtual std::size_t run(double time, double timeout_ms, const std::function<bool()> &stopRunningCallback) override
Run simulation segment.
-
virtual const std::vector<double> &getConcentrations(std::size_t compartmentIndex) const override
Concentration array for compartment.
-
virtual std::size_t getConcentrationPadding() const override
Concentration array padding.
-
const std::vector<double> &getDcdt(std::size_t compartmentIndex) const
Time derivative array for compartment.
-
double getLowerOrderConcentration(std::size_t compartmentIndex, std::size_t speciesIndex, std::size_t pixelIndex) const
Lower-order concentration value for adaptive RK.
-
explicit PixelSim(const model::Model &sbmlDoc, const std::vector<std::string> &compartmentIds, const std::vector<std::vector<std::string>> &compartmentSpeciesIds, const std::map<std::string, double, std::less<>> &substitutions = {})
PagmoUDP
-
class PagmoUDP
Implements a Pagmo User Defined Problem to evolve.
Note
Needs to be (cheaply) copy-constructible, implement
fitness()andget_bounds()functions, and be thread-safe, see https://esa.github.io/pagmo2/docs/cpp/problem.htmlPublic Functions
-
PagmoUDP() = default
-
explicit PagmoUDP(const OptConstData *optConstData, ThreadsafeModelQueue *modelQueue, Optimization *optimization)
-
pagmo::vector_double fitness(const pagmo::vector_double &dv) const
-
std::pair<pagmo::vector_double, pagmo::vector_double> get_bounds() const
-
PagmoUDP() = default