Class Diffusion
- java.lang.Object
-
- bio.singa.simulation.model.modules.AbstractUpdateModule
-
- bio.singa.simulation.model.modules.concentration.ConcentrationBasedModule<EntityDeltaFunction>
-
- bio.singa.simulation.model.modules.concentration.imlementations.transport.Diffusion
-
- All Implemented Interfaces:
UpdateModule,Runnable
public class Diffusion extends ConcentrationBasedModule<EntityDeltaFunction>
Diffusion is the fundamental force governing the random movement of molecules in cells. As aConcentrationBasedModuleit has theDependentUpdatescope and isEntitySpecific. The module is only applied for automaton nodes for the entities specified during the build process (viaDiffusion.DiffusionBuilder). Diffusion is parametrized by theDiffusivityFeature, therefore Diffusivity must be assigned to each entity or aFeatureProviderwill try to resolve it.// define the feature to parametrize the diffusion Diffusivity diffusivity = new Diffusivity(Quantities.getValue(2.28E-05, SQUARE_CENTIMETRE_PER_SECOND), Evidence.MANUALLY_ANNOTATED); // assign it to the chemical entity SmallMolecule ammonia = new SmallMolecule.Builder("ammonia") .name("ammonia") .assignFeature(diffusivity) .build(); // create the module Diffusion diffusion = Diffusion.inSimulation(simulation) .identifier("ammonia diffusion") .onlyFor(ammonia) .build();- Author:
- cl
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceDiffusion.BuildStepstatic classDiffusion.DiffusionBuilderstatic interfaceDiffusion.EntityLimitationStepstatic interfaceDiffusion.SectionLimitationStep
-
Field Summary
-
Fields inherited from class bio.singa.simulation.model.modules.concentration.ConcentrationBasedModule
supplier
-
-
Constructor Summary
Constructors Constructor Description Diffusion()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheckFeatures()static ModuleBuildergetBuilder(Simulation simulation)voidinBetweenHalfSteps()static Diffusion.EntityLimitationStepinSimulation(Simulation simulation)-
Methods inherited from class bio.singa.simulation.model.modules.concentration.ConcentrationBasedModule
addDeltaFunction, calculateUpdates, deltaIsValid, determineLargestLocalError, getApplicationCondition, getRestrictedSubsection, getScaledFeature, getScaledFeature, getScope, getSpecificity, getSupplier, handleDelta, initialize, onCompletion, onReset, optimizeTimeStep, restrictApplication, setApplicationCondition, setRestrictedSubsection
-
Methods inherited from class bio.singa.simulation.model.modules.AbstractUpdateModule
addEvidence, addReferencedEntities, addReferencedEntity, equals, getEvidence, getFeature, getFeatureManager, getFeatures, getIdentifier, getReferencedChemicalEntities, getRequiredFeatures, getSimulation, getState, hashCode, reset, run, setEvidence, setFeature, setFeatureManager, setIdentifier, setSimulation, setState, toString
-
-
-
-
Method Detail
-
inSimulation
public static Diffusion.EntityLimitationStep inSimulation(Simulation simulation)
-
getBuilder
public static ModuleBuilder getBuilder(Simulation simulation)
-
checkFeatures
public void checkFeatures()
- Specified by:
checkFeaturesin interfaceUpdateModule- Overrides:
checkFeaturesin classAbstractUpdateModule
-
inBetweenHalfSteps
public void inBetweenHalfSteps()
- Overrides:
inBetweenHalfStepsin classConcentrationBasedModule<EntityDeltaFunction>
-
-