Core
The core library implements all the functionality, which is then exposed to the user via the GUI, Python library, or CLI.
It is split into four (somewhat interdependent) parts: sme::model, sme::mesh, sme::simulate and sme::common.
The public headers for each part are in /include/sme, and the private implementation details are in /src.
For each component X there is
X.hppthe public interfaceX.cppthe private implementationX_t.cppthe testsX_bench.cppthe benchmarks (optional)
sme::model
Importing, exporting and editing spatial models.
- inc
- Model
sme::model::ModelgetIsValid()getErrorMessage()getHasUnsavedChanges()getCurrentFilename()setName()getName()getCompartments()getCompartments()getGeometry()getGeometry()getMembranes()getMembranes()getSpecies()getSpecies()getReactions()getReactions()getFunctions()getFunctions()getParameters()getParameters()getEvents()getEvents()getUnits()getUnits()getMath()getMath()getSimulationData()getSimulationData()getSimulationSettings()getSimulationSettings()getMeshParameters()getMeshParameters()getOptimizeOptions()getOptimizeOptions()getSampledFieldColors()getFeatures()getFeatures()Model()Model()operator=()operator=()Model()~Model()createSBMLFile()importSBMLFile()importSBMLString()exportSBMLFile()importFile()exportSMEFile()getXml()clear()getSpeciesGeometry()inlineExpr()getDisplayOptions()setDisplayOptions()
- ModelCompartments
sme::model::ModelCompartmentsModelCompartments()ModelCompartments()setGeometryPtr()setSpeciesPtr()setReactionsPtr()setSimulationDataPtr()getIds()getNames()getColors()add()remove()getName()setName()getInteriorPoints()setInteriorPoints()setColor()getColor()getIdFromColor()getCompartments()getCompartment()getCompartment()getSize()getInitialCompartmentSizes()clear()getHasUnsavedChanges()setHasUnsavedChanges()
- ModelEvents
- ModelFunctions
- ModelGeometry
sme::model::ModelGeometryModelGeometry()ModelGeometry()importSampledFieldGeometry()importSampledFieldGeometry()importGeometryFromImages()importGeometryFromGmsh()setImportedGmshMesh()setImportedMesh2d()captureCurrentMeshAsFixedTopology()clearImportedMesh()hasImportedMesh()getFixedMeshImportDiagnostic()getFixedMeshExportDiagnostic()updateMesh()clear()getNumDimensions()getVoxelSize()setVoxelSize()setPhysicalOrigin()getPhysicalOrigin()getPhysicalSize()getPhysicalPoint()getPhysicalPointAsString()getImages()getMesh2d()getMesh3d()getIsValid()getIsMeshValid()getHasImage()updateGeometryImageColor()writeGeometryToSBML()getHasUnsavedChanges()setHasUnsavedChanges()getAnalyticGeometryNumDimensions()getDefaultAnalyticGeometryImageSize()getAnalyticGeometryPreview()
- ModelMath
- ModelMembranes
sme::model::ModelMembranesgetIds()getNames()setName()getName()getMembranes()getMembrane()getIdColorPairs()getSize()updateCompartmentNames()updateCompartments()updateCompartmentImages()updateGeometryImageColor()importMembraneIdsAndNames()exportToSBML()ModelMembranes()~ModelMembranes()getHasUnsavedChanges()setHasUnsavedChanges()
- ModelParameters
sme::model::ModelParametersModelParameters()ModelParameters()setEventsPtr()setSpeciesPtr()getIds()getNames()setName()getName()setExpression()getExpression()add()remove()getSpatialCoordinates()setSpatialCoordinates()getSymbols()getGlobalConstants()getNonConstantParameters()getHasUnsavedChanges()setHasUnsavedChanges()
- ModelReactions
sme::model::ModelReactionsModelReactions()ModelReactions()makeReactionLocationsValid()applySpatialReactionRescalings()getSpatialReactionRescalings()getIsIncompleteODEImport()getIds()getIds()getReactionLocations()add()remove()removeAllInvolvingSpecies()removeAllInLocation()setName()getName()getScheme()setLocation()getLocation()getSpeciesStoichiometry()setSpeciesStoichiometry()getRateExpression()setRateExpression()getParameterIds()setParameterName()getParameterName()setParameterValue()getParameterValue()addParameter()removeParameter()dependOnVariable()getHasUnsavedChanges()setHasUnsavedChanges()
- ModelSpecies
sme::model::ModelSpeciesModelSpecies()ModelSpecies()setReactionsPtr()setSimulationDataPtr()containsNonSpatialReactiveSpecies()add()remove()setName()getName()updateCompartmentGeometry()setCompartment()getCompartment()getIds()getNames()setIsSpatial()getIsSpatial()setDiffusionConstant()getDiffusionConstant()setStorage()getStorage()getDiffusionConstantType()getInitialConcentrationType()setInitialConcentration()getInitialConcentration()setAnalyticConcentration()setFieldConcAnalytic()getAnalyticConcentration()updateAllAnalyticConcentrations()setSampledFieldConcentration()getSampledFieldConcentration()setSampledFieldDiffusionConstant()getSampledFieldDiffusionConstant()isValidAnalyticDiffusionExpression()setAnalyticDiffusionConstant()getAnalyticDiffusionConstant()isValidCrossDiffusionExpression()setCrossDiffusionConstant()removeCrossDiffusionConstant()getCrossDiffusionConstant()getCrossDiffusionConstants()getConcentrationImages()setColor()getColor()setIsConstant()getIsConstant()isScalarConstantSpecies()isSimulatedSpecies()isReactive()removeInitialAssignments()getSampledFieldInitialAssignment()getField()getField()getHasUnsavedChanges()setHasUnsavedChanges()
- ModelUnits
sme::model::ModelUnitsModelUnits()getTime()getTimeIndex()getTimeUnits()getTimeUnits()setTimeIndex()getLength()getLengthIndex()getLengthUnits()getLengthUnits()setLengthIndex()getVolume()getVolumeIndex()getVolumeUnits()getVolumeUnits()setVolumeIndex()getAmount()getAmountIndex()getAmountUnits()getAmountUnits()setAmountIndex()getConcentration()getDiffusion()getCompartmentReaction()getMembraneReaction()getHasUnsavedChanges()setHasUnsavedChanges()
- Settings
- Model
- src
sme::mesh
Constructing the simplified boundary lines and triangular mesh approximation to the geometry.
- inc
- Mesh
sme::mesh::Mesh2dMesh2d()Mesh2d()Mesh2d()~Mesh2d()constructMesh()isValid()getErrorMessage()getNumBoundaries()getBoundarySimplificationType()setBoundarySimplificationType()setBoundaryMaxPoints()getBoundaryMaxPoints()getBoundaryMaxPoints()setCompartmentMaxTriangleArea()getCompartmentMaxTriangleArea()getCompartmentMaxTriangleArea()getCompartmentInteriorPoints()setPhysicalGeometry()getVerticesAsFlatArray()getTriangleIndicesAsFlatArray()getTriangleIndices()getBoundariesImages()getMeshImages()getGMSH()dim
sme::mesh::Mesh3dMesh3d()Mesh3d()Mesh3d()~Mesh3d()isValid()getErrorMessage()setCompartmentMaxCellVolume()getCompartmentMaxCellVolume()getCompartmentMaxCellVolume()setPhysicalGeometry()getVertices()getVerticesAsFlatArray()getNumberOfCompartments()getNumberOfMembranes()getTetrahedronIndicesAsFlatArray()getTetrahedronIndices()getMembraneTriangleIndices()getGMSH()getColors()setColors()dim
- Mesh
- src
sme::simulate
Simulating the model, either with Pixel or dune-copasi.
For a hand-written overview of the Pixel backend internals, see Pixel.
- inc
- DuneConverter
- Pde
- Simulation
sme::simulate::SimulationSimulation()~Simulation()doTimesteps()doMultipleTimesteps()errorMessage()errorImages()getCompartmentIds()getSpeciesIds()getSpeciesColors()getTimePoints()getAvgMinMax()getConc()getConcArray()applyConcsToModel()getDcdt()getDcdtArray()getLowerOrderConc()getConcImage()getPyNames()getPyConcs()getPyDcdts()getNCompletedTimesteps()getSimulationData()getIsRunning()getIsStopping()requestStop()
- SimulationData
- SimulationOptions
- Optimization
sme::simulate::OptimizationOptimization()evolve()applyParametersToModel()getParams()getParamNames()getFitness()setBestResults()getBestResultValues()getTargetImage()getTargetValues()getUpdatedBestResultImage()getCurrentBestResultImage()getImageSize()getMaxValue()getDifferenceImage()getIterations()getIsRunning()getIsStopping()requestStop()getErrorMessage()
- OptimizationOptions
- src
sme::common
Symbolic math, TIFF import/export, other utility functions.